VS C++ C# 混合編程


 

創建C++ DLL

注意,32bit和64bit之間不兼容

  1. 創建普通dll工程
  2. 設置Properties -> Configuration Properties -> General -> Project Defaults -> Common Language Runtime Support = [Common Language Runtime Support (/clr)]
  3. 設置turn off "/permissive-": Properties -> Configuration Properties -> C/C++ -> Language -> Conformance mode = No
  4. 修改debug|release設置后,Properties也要記得修改。

 

托管類中需要用到Bitmap類時,需要添加引用,右鍵當前工程-> Add(添加)引用 -> Assemblies(程序集) -> Framework(框架) -> 勾選System.Drawing,就可以在托管C++中調用Bitmap類了。

 

System::Drawing::Bitmap ^clrClass::getImage(double scale)
{
    System::Drawing::Bitmap ^img = gcnew System::Drawing::Bitmap(5,5);
    img->SetPixel(1,1, System::Drawing::Color::FromArgb(255,0,0));
    return img;
}

 C#中調用

引用DLL: 工程 -> References -> Add References -> Browse -> [Browse] -> 添加C++工程生成的DLL

正常使用即可,典型使用如下。

clrClass cc = new clrClass();
// 后面就可以用C#的方式使用了

 注意:如果C++工程的dll引用了其他dll,需要把二級引用的dll手動加到bin文件夾下對應位置。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM