代码之家  ›  专栏  ›  技术社区  ›  Tola Odejayi

调用本机代码时引发ExecutionEngineeException

  •  0
  • Tola Odejayi  · 技术社区  · 14 年前

    extern "C" BOOL Func()

    函数在VB.NET代码中声明如下:

    <DllImport("mylib.dll", CallingConvention:=CallingConvention.Cdecl)>

    Private Shared Function Func() As Boolean

    End Function

    既然如此 BOOL int 在这个C代码中,声明是否应该不同?如果是的话,我该怎么声明呢?作为 Short Int32 ? 我需要封送返回值吗?

    1 回复  |  直到 9 年前
        1
  •  0
  •   OJ.    14 年前

    C函数不返回真正的布尔值,而是返回一个整数。你可能需要 marshall it propery

    编辑:同样,你应该让你的函数是静态的。

    推荐文章