Рассмотрим этот код
#include "stdafx.h"#include <Windows.h>
extern "C" void hello(); //THIS IS OK
class vector4
{
public:
vector4(){hello();}
extern "C" void asm_proc(); //HERE IT THROWS AN ERROR
};
int _tmain(int argc, _TCHAR* argv[])
{
hello();
char buffer[256];
vector4 vv;
vv.asm_proc();
int x=10+2;
return 0;
}
Здесь я хочу объявить класс «vector4» и все его функции-члены, написанные на ассемблере.
Также обратите внимание, что это 64-битный проект.
Вот простое содержимое файла asm:
.code
hello proc
mov rax,234
add rax,10
ret
hello endp
asm_proc proc
mov rax,0
ret
asm_proc endp
end
Я не могу найти способ вызвать asm proc напрямую с помощью функции-члена.
Я могу связать общую функцию с asm с помощью синтаксиса extern «C». Но это же не работает внутри класса.
Так как же правильно связать asm_proc с функцией-членом класса?
Задача ещё не решена.