林對我的C#項目中的C++ DLL工作,DLL具有在其內部創建和銷燬由外部功能,如類:「新」運算符的extern「C」使用
class myClass
{
int N;
public:
//some elements and some functions
myClass(int n)
{
N=n;
}
};
__declspec(dllexport) myClass * builderF(int n)
{
return new myClass(n);
}
__declspec(dllexport) void destroyerF(myClass * c)
{
delete c;
}
,這些都是在extern「C」{} body。
編譯器如何讓我使用C++功能是「C」空間?僅僅用於C代碼?這是測試和工作(我開始爲C#做一個opencl包裝)。我以前只使用純C代碼。
可能有幫助:[在C++源代碼中,extern「C」有什麼作用?](http://stackoverflow.com/questions/1041866/in-c-source-what-is-the-effect- extern-c) –
因此,鏈接與編譯完全不同?所以它只是編譯成一個C++代碼。 –
這不僅編譯,但真的有用嗎?我的意思是'destroyerF'功能? o.O – lapk