将C代码编译成Visual C++;动态链接库? 是否可以将C代码编译成VisualC++?我正在考虑在.Net项目中使用一些C代码,并试图确定这是否是一个选项

将C代码编译成Visual C++;动态链接库? 是否可以将C代码编译成VisualC++?我正在考虑在.Net项目中使用一些C代码,并试图确定这是否是一个选项,.net,c++,c,visual-c++,.net,C++,C,Visual C++,谢谢, 贝基是的。如果您想摆脱使用“extern”C{/*…*/}构造 也请参阅FAQ:< P>。C++与C++基本上是向后兼容的,除非代码使用了一些C99特性,否则您应该能够使用C++编译器重新编译代码。但是,请记住C++ + CLI不是标准C++,因此可能会有其他问题。 正如aJ所说,如果你想避免名称被弄乱,你必须将符号“外部化” 另一种实现方法是将C库作为标准的本地代码,并为它编写一个瘦的C++/CLI层。然后将C++/CLI层暴露在.NET应用程序中。“VisualC++ + DLL”是

谢谢,
贝基是的。如果您想摆脱使用
“extern”C{/*…*/}
构造


<>也请参阅FAQ:

< P>。C++与C++基本上是向后兼容的,除非代码使用了一些C99特性,否则您应该能够使用C++编译器重新编译代码。但是,请记住C++ + CLI不是标准C++,因此可能会有其他问题。 正如aJ所说,如果你想避免名称被弄乱,你必须将符号“外部化”


另一种实现方法是将C库作为标准的本地代码,并为它编写一个瘦的C++/CLI层。然后将C++/CLI层暴露在.NET应用程序中。

“VisualC++ + DLL”是什么意思?"? DLL是编译器中立的,由OS加载,DLL是VisualStudio的组件,DLL是用VisualC++进行重新分配的C++运行时。我的意思是DLL,然后我可以在.NET项目中用作引用,并使用引用的DLL中的C方法——如果这有意义的话!你有没有什么资源可以给我介绍瘦C++/CLI层和暴露在.Net中,因为我是一个C/C++初学者:o)如果它是用C编译器编译的bog标准windows DLL,那么PInvoke应该这样做-@Becky:a(非常)C++/CLI的基本介绍在这里:。为了编写.NET层,可以使用上面的一些构造(如CLI类)来创建.NET能够理解的内容,并从中直接调用C代码。编译器将处理托管代码和非托管代码之间的转换。@Pete,谢谢你指出这一点,我倾向于忘记PInvoke,因为我不得不使用的许多代码太复杂,无法通过PInvoke使用。非常感谢-我现在有一个学习这一切的Xmas项目:o)