我有一个托管的C ++ / CLI项目,该项目必须使用一些本机代码。本机头文件的简化版本为:
struct structA
{
// Some variables...
};
struct structB
{
// Some similar variables...
void convertTo(structA& dest);
};
此标头包含在托管代码中。托管代码具有:
structA sA;
structB sB;
// Load data into sB...
sB.convertTo(sA);
我正在使用Visual Studio 2008并使用编译托管代码/clr
。当然,由于隐式调用约定不同,因此会生成链接器错误(LNK2028)。但是,我一直无法使用extern "C"
声明来解决这个问题(或者我可能错误地使用了它们)。我尝试了针对类似问题的几种解决方案,但均无济于事。
如何从托管代码中正确调用非托管函数?这里需要什么声明或包装?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句