0

有没有一种方法可以静态地/针对 .h 文件验证 p/invoke,这样就不会遇到运行时错误,例如“对本机方法的调用使堆栈不平衡”?

最好是一种跨平台的方式,也可以使用 .so 文件。

4

1 回答 1

1

你可以自己推理出来。如果可以进行准确的静态分析,那么再也没有人需要编写 [DllImport] 声明,分析工具可以自动生成它们。

不存在这样的工具,C 声明太模棱两可了。

您的分析工具无法工作,除非没有额外的标记,如消除指针和数据流的歧义的SAL 注释。例如,Pinvoke Interop Assistant使用它。IDL 中使用的属性起着非常相似的作用,在 COM 中自动生成类型库和代理/存根。

于 2013-10-26T14:27:51.427 回答