我見過直列從C++ Visual Studio 2010中稱爲32位.ASM,所謂的x64使用微軟的__fastcall協議和整個「外部C」標頭的事情一個C++項目手寫.ASM文件,但我不知道請參閱C#中的等效語言(我的首選語言)。從C#調用x64 .asm文件?
從C#文件,有沒有辦法來調用在C#Winforms應用程序手寫的64位.asm的文件?
我見過直列從C++ Visual Studio 2010中稱爲32位.ASM,所謂的x64使用微軟的__fastcall協議和整個「外部C」標頭的事情一個C++項目手寫.ASM文件,但我不知道請參閱C#中的等效語言(我的首選語言)。從C#調用x64 .asm文件?
從C#文件,有沒有辦法來調用在C#Winforms應用程序手寫的64位.asm的文件?
嘗試尋找在This code project。它描述了將彙編混合到C++中然後在C#中調用C++程序集的技術。
完成,在C++,但使用的寄存器像RAX(64位)而不是EAX(32位)。編寫調用C++文件的C#文件僅用於調用64位asm是不是很奇怪? – BitPass
老實說,使用匯編看起來很奇怪,更不用說C#中的大多數非託管代碼,所以黑客應該是不必要的。如果我需要有優化組裝或諸如此類的東西我會寫那些部分爲C++ DLL反正 – secretformula
這就是我最初以爲,但我使用的x64 MASM在C++ DLL得到了3到6倍的速度提升。我想優化編譯器仍然沒有得到那種基本的Photoshop濾鏡所具有的真正光滑的專業感覺。 – BitPass
基本上是 - 但你需要使用「不安全」的代碼來實現...你爲什麼要這麼做? – Yahia
函數的C++聲明是什麼樣的?您可能可以將呼叫掛接到該程序集中。 –
它是巨型(> 500mb)位圖的基本圖形資料(亮度,飽和度,對比度)。如果我理解正確,Pinvoke是32位的? – BitPass