2010-08-25 30 views
3

由於MSVC10在定位x64體系結構時不允許使用內聯ASM指令,因此我正在尋找解決此類限制的任何方法。我從Google中學到了編寫和編譯單獨的ASM模塊,然後鏈接它們並從C++調用它們的方法,但是我不知道如何做到這一點。除了使用編譯器內部函數之外,還有其他方法嗎?或者,如何在VS2010中針對單獨的ASM模塊編寫/編譯/鏈接?在使用MSVC10編譯x64 C++時使用ASM

回答

3

您可以使用單獨的彙編程序將完整的彙編源文件編譯爲目標文件。只要您遵循正確的調用約定,您就可以爲在C++中使用的函數提供原型,將C++和ASM生成的目標文件鏈接在一起。我使用yasm。它使用intel語法,支持x64窗口和VS2010 integration。它具有有用的宏和包含功能。我必須承認,自從VS2008集成工作方式有點不同以來,我不必使用它,但它應該可以在VS2010中運行良好。