C# 與 C++強強聯合

來源:互聯網
上載者:User

      眾所周知C#是門可以很大幅度提高開發效率的語言,是一門上手容易省錢省時的程式設計語言,然作為一門進階語言效能比不上低級語言,更比不上偉大的機器語言。那些速度快的語言開發效率實在是不怎麼樣。各有千秋吧!

     嘮叨完了,寫這個部落格是想跟大家分享下最近學習和新知識,C#調用C++的演算法dll,最近需要寫個尋路的演算法,需要在很短的時間中計算完成給出結果,我是使用C#開發的,然C#寫出來後需要10S這個客戶不能接受,我也是追求完美的人,肯定也不能接受啦,以前看到過C#可以調用C++的DLL,然後我這個沒有弄過C++的人士也來搞下了。

    分以下步驟

    一、建立C++DLL

1、開啟vs2008,建立-》項目-》C++的win32項目

2、應用程式類型選擇DLL

3、這樣就C++項目就建立好啦,我們寫一個求和的演算法,需要建立H和CPP檔案,裡面的代碼極其簡單就不貼了,後面有源碼可以下載。

    二、C#調用C++DLL。

    1、DllImport相信很多人都很熟悉,是的,我們的C++的使用也是使用DllImport來調用的。
          

      [DllImport("TEST.dll")]        

      public static extern int Sum(int num1, int num2);

          private void butSumbit_Click(object sender, EventArgs e)        

      {            

      txt3.Text = Sum(int.Parse(txt1.Text), int.Parse(txt2.Text)).ToString();        

      }

     就這樣就好啦,簡單的然你失望吧!

     當然了,這廝是一個示範怎麼調用的demo肯定沒有那麼的複雜啦,也沒有那些類型轉換。我這次寫的是一個C*演算法+貪心演算法。用來計算最短路徑的,也會用到C#的指標。有興趣的繼續關注下,下一篇博文中會介紹些。

     源碼 -附件

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.