簡體   English   中英

Visual Studio 2012:在DLL項目中使用MASM x64

[英]Visual Studio 2012: Using MASM x64 in DLL Project

好了,所以我有一個用C ++編寫的控制台項目。 我需要一個GUI,並且我不想弄亂任何可用的GUI庫,因此我轉向C#。

該應用程序執行許多底層操作,包括一些匯編代碼,並且由於x64不支持內聯匯編,因此我使用的是MASM。 因此,我無法合理地移植代碼,因此我將C ++應用程序設為DLL項目。

當我啟用MASM時,我在“ Build Customizations”中選中“ masm”框。 之后,預期的項目屬性>配置屬性> Microsoft宏匯編程序菜單選項不會出現!

編譯時,出現“未解析的外部符號X ”,其中X是我寫入.asm文件的標簽。

我研究了從原始二進制文件中導出函數的過程,但是看來您需要構建整個導出表……我寧願不要。

因此,簡而言之,如何將ASM編譯為64位Windows DLL? 也許有更好的方法可以做到這一點?

您可以將匯編代碼編譯到靜態庫中,然后創建一個本機C ++ DLL,以從匯編庫中導出函數。

我相信這個問題,盡管我沒有很好地提出,但可以重復:

如何在Visual Studio 2013中啟用匯編語言支持

雖然,在那里選擇的答案不能解決我的問題。 ilovecpp的答案就是訣竅:

也許這會有用:

右鍵單擊file_name.asm(在解決方案資源管理器中)屬性->配置屬性->常規->項目類型選擇Microsoft宏匯編程序

一旦啟用,一切編譯就可以了。 您可以將MASM編譯為DLL,只需執行一個額外的步驟。

暫無
暫無

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

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