我在Windows VS2012(.lib)上已经构建了一个静态库,使用stdcall约定编译。当我说"已经建成"时,我的意思是不幸的是我不能用我选择的调用约定来重建它。
是否可以从使用cdecl约定编译的代码中调用此库中的函数?或者至少做一些包装?
我不确定是否可能(在浏览之后,我实际上几乎确信这完全不可能)但是有些人here含糊地提到可能存在污垢。有什么想法吗?
答案 0 :(得分:2)
在静态库的标头中,将导入的函数声明为extern <return_type> __stdcall
。有关在MSDN上调用约定属性的详细信息,请参阅:https://msdn.microsoft.com/en-us/library/zxk0tw93.aspx