【发布时间】:2016-05-21 01:36:39
【问题描述】:
向 C 和 .Net 公开 C++ 函数的步骤是什么?我想在 C++、C 和 .Net 中为 32 位和 64 位构建使用相同的函数名称。
我发布这个问题和答案是因为我在任何地方都没有发现这些技术的文档。
【问题讨论】:
-
这是一个错误,C++ 编译器使用的名称修饰非常有助于确保在函数声明更改时不会出现严重错误。这导致的堆栈不平衡是一个非常难以解决的问题。除了函数声明上的
extern "C"之外,它只需要其他任何东西,pinvoke marshaller 已经知道要寻找普通的 C 函数装饰。
标签: c++ .net dll static-libraries pragma