VC++ でアセンブラのソースを inline 関数にするかきかた
やり方が分からなかったのでメモ・ω・
まず、 #pragma inline_asm 関数名 は使えない。
ソース
inline HANDLE WINAPI _GetProcessHeap(){
_asm{
mov eax,fs:[00000018h]
mov eax,[eax+30h]
mov eax,[eax+18h]
}
}
__declspec(naked) は不要、付けるとインラインにならない
後は、呼び出し先で HeapAlloc(_GetProcessHeap(),HEAP_ZERO_MEMORY,128);
とかすればアセンブラのまま展開される。・ω・
Comments