簡體   English   中英

C#的托管C ++代碼

[英]Managed c++ code for C#

我試圖在Visual Studio中設置我的設置,以便可以編寫托管的C++代碼,以便稍后由C#程序調用。 我從一個新的C++項目開始,這是我更改的設置以及原因:

  • 預編譯頭 not using precompiled headers 正如我不想的那樣。
  • /clr 公共語言運行時支持 據我了解,這是根本需要的。
  • 將信息格式/ZI 調試none 由於/clr/ZI不兼容
  • 啟用最小重建no 由於/clr/Gm不兼容。
  • 基本運行時檢查default 由於/clr/RTC1不兼容。

畢竟,我現在遇到了位於xlocalexlocnum許多C2760錯誤代碼。 該錯誤特別指出

語法錯誤:意外的令牌'identifier',預期的'catch'

現在,我在這里是一個極端的初學者,所以也許這很簡單,如果可以的話,我表示歉意。 我的目標是編寫一個簡單的c++ class ,用托管代碼包裝它,並提供一個DLL ,以后可以與c#程序鏈接。

當我查看MSDN文檔頁面時,他們所說的只是使用/clr/LD進行編譯。 好吧,我沒有一個/LD選項,我知道/LD選項是創建重要的DLL 任何幫助或指導將不勝感激。

PS這是Visual Studio社區2017

事實是:您必須有2個項目。

  1. 只是舊的好C / C ++項目。 您可以在此處放置一個第三方庫,例如OpenSSL或任何其他跨平台資源。 在這里,刪除/包裝任何特定於平台的代碼可能會遇到一些挑戰。
  2. Windows運行時組件-正是CLI代碼,其作用就像本機C / C ++和托管C#之間的橋梁。 您可以在文件->新建項目,然后在Visual C ++-> Windows Universal中找到它。 關於運行時組件的一般想法是,您可以通過簽名將CLI方法無縫導入C#代碼中,可以直接在CLI代碼中調用C#回調,所有C#/ CLI類型都是二進制兼容的。這就是為什么您不能“僅添加特別配置的C / C ++項目”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM