【发布时间】:2013-07-18 11:56:57
【问题描述】:
我正在用 Visual C++ 编译一些第三方 C 代码。源代码树包含以下 .def 文件:
LIBRARY "ThirdParty.dll"
EXPORTS
ThirdPartyFunction @1
在ThirdPartyFunction() 定义附近没有明确的调用约定规范(如__stdcall 或__cdecl)。 Visual C++ 项目属性(C++ -> 高级 -> 调用约定)设置为 __cdecl (/Gd)。
导出的函数将使用哪种调用约定,我如何确保它是该约定?
【问题讨论】:
-
This answer 可能无济于事,但如果您还没有看到它,它可能会有用。
-
@RogerRowland:实际上它确实有帮助 - 我使用了 Depends 并查看了导出的符号,我发现它们没有被装饰,所以它是
__cdecl。 -
默认情况下,__cdecl 函数也会被修饰。
标签: c visual-c++ calling-convention