隨筆 - 6  文章 - 129  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827204
          • 排名 - 49

          最新評論

          閱讀排行榜

          評論排行榜

          一、使用/clr編譯MFC可執行文件或規則C# DLL函數.
              1、打開“項目屬性”對話框,方法是右鍵單擊“解決方案資源管理器”中的項目并選擇“屬性”。
              2、展開“配置屬性”旁邊的節點并選擇“常規”。在右側窗格中的“項目默認值”下,將“公共語言運行庫支持”設置為“公共語言運行庫支持(/clr)”。
              3、在相同的窗格中,確保將“MFC的使用”設置為“在共享DLL中使用MFC”。
              4、在“配置屬性”下,展開“C/C++”旁邊的節點并選擇“常規”。請確保將“調試信息格式”設置為“程序數據庫/Zi”(而不是“/ZI”)。
              5、在“配置屬性”下,選擇“C/C++”,然后選擇“代碼生成”。請確保將“運行時庫”設置為“多線程調試DLL(/MDd)”或“多線程DLL(/MD)”之一。
          二、在代碼引用需要的dll.
           using <mscorlib.dll>. 
           using "DownloaFiles.dll"   //換成需要的dll文件。 
           using namespace System;
           using namespace ADMessage_test;  //換成dll中類所使用的namespace.
          三、在C# DLL函數調用代碼前加入#pragma managed
              這是manage和unmanage混合編程在MFC下的一種實現方式。
              以上介紹C++調用C# DLL函數,希望對你有所幫助。

          四 、幾點要記住:

            1 使用#using引用C# DLL,而不是#include.我就是想當然的使用了后者,所以浪費了一上午的時間;

            2 別忘了using namespace CSLib;

            3 使用C++/clr語法,采用正確的訪問托管對象,即:使用帽子‘^’,而不是星星‘*’。


          PS:附上自己成功運行C++代碼

          #include "stdafx.h"
          #include <iostream>
          //#using "..\..\SFCSDLL.dll" //右擊項目-->引用...,添加新引用,將DLL添加到項目中,可以不用此行代碼

          using namespace std;
          using namespace SFCSDLL;

          int _tmain(int argc, _TCHAR* argv[])
          {
           Class1 ^c = gcnew Class1();

           c->SFCSDLL_Create_Connection("127.0.0.1", 0, 0, 0, 0);
           c->SFCSDLL_Get_DLLVersion();
           c->SFCSDLL_Close_Connection();

           cout<<"end...";
           system("pause");
           return 0;
          }

           



          posted on 2013-03-12 15:13 Ke 閱讀(3556) 評論(0)  編輯  收藏 所屬分類: C#
          主站蜘蛛池模板: 罗山县| 宕昌县| 鄂尔多斯市| 稷山县| 永兴县| 关岭| 松原市| 永德县| 宜兰市| 客服| 承德市| 霍州市| 南靖县| 新余市| 喀喇沁旗| 霍林郭勒市| 承德市| 镇安县| 镇原县| 涿州市| 道孚县| 南平市| 平山县| 沾益县| 如皋市| 呼图壁县| 贵州省| 东海县| 望城县| 文化| 洪泽县| 招远市| 奉节县| 高台县| 定兴县| 邢台市| 苗栗市| 屏边| 潼关县| 清河县| 柞水县|