混合cdecl和stdcall调用约定

时间:2015-04-29 18:20:18

标签: visual-studio-2012 stdcall cdecl

我在Windows VS2012(.lib)上已经构建了一个静态库,使用stdcall约定编译。当我说"已经建成"时,我的意思是不幸的是我不能用我选择的调用约定来重建它。

是否可以从使用cdecl约定编译的代码中调用此库中的函数?或者至少做一些包装?

我不确定是否可能(在浏览之后,我实际上几乎确信这完全不可能)但是有些人here含糊地提到可能存在污垢。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

在静态库的标头中,将导入的函数声明为extern <return_type> __stdcall。有关在MSDN上调用约定属性的详细信息,请参阅:https://msdn.microsoft.com/en-us/library/zxk0tw93.aspx