将C代码编译成Visual C ++ DLL?

时间:2009-12-23 10:45:33

标签: .net c++ c visual-c++

是否可以将C代码编译为Visual C ++ DLL?我正在考虑在.Net项目中使用一些C代码,并试图确定这是否是一个选项。

谢谢, 贝基

2 个答案:

答案 0 :(得分:2)

是肯定的。如果你想摆脱name mangling使用"extern "C" { /*...*/ }构造。

另请参阅常见问题解答:How to mix C and C++

答案 1 :(得分:1)

鉴于C ++在很大程度上与C向后兼容,您应该能够使用C ++编译器重新编译代码,除非代码使用某些C99功能。但是,请记住,C ++ / CLI不是标准C ++,因此可能存在其他问题。

正如aJ所说,如果你想避免名称损坏,你必须'extern C'这些符号。

实现此目的的另一种方法是将C库保留为标准本机代码并为其编写精简C ++ / CLI层。然后将C ++ / CLI层公开给.NET应用程序。