Не знаю, правильный ли выбрал форум...
Мне понадобилось, чтобы параметры в функцию передавались как в System V ABI:
; __int64 __fastcall test(unsigned __int64, unsigned __int64)
;public test(unsigned long, unsigned long)
test(unsigned long, unsigned long) proc near
....
; Вызов
mov esi, 2 ; unsigned __int64
mov edi, 1 ; unsigned __int64
call test(ulong,ulong)
Но в компиляторах clang, gcc, visual studio для Windows параметры передаются так:
; __int64 __fastcall test(unsigned __int64, unsigned __int64)
;public test(unsigned long long, unsigned long long)
test(unsigned long long, unsigned long long) proc near
....
; Вызов
mov edx, 2 ; unsigned __int64
mov ecx, 1 ; unsigned __int64
call test(ulong long,ulong long)
Можно ли как-то извратиться, настройкой компилятора, или ключевым словом, чтобы передавать параметры по-первому варианту?