Неразрешенная внешняя ошибка в очень простом приложении x64 Assembly / C ++

Я начал изучать ассемблер, потому что я заинтересован в обработке изображений и C ++, и, к счастью, я нашел серию видеороликов об обработке изображений с использованием ассемблера и C ++ в YouTube.

Но когда я пытаюсь реализовать свое первое приложение, в моей функции GetValueFromAsm возникает внешняя проблема
поэтому мне нужна ваша помощь, чтобы узнать мою ошибку.

Это мой код C ++

#include <iostream>
#include <conio.h>extern "C" int GetValueFromAsm();

int main()
{
std::cout<<"Value From Asm "<< GetValueFromAsm()<<std::endl;
_getch();
return 0;
}

и это мой код сборки

.code
GetValueFromAsm proc
mov rax,30
ret
GetValueFromAsm endp
end

Я использую VS 2010 / Windows 7 64-битное и x64 приложение.

1

Решение

На ум приходят сразу две возможности:

  • Вы на самом деле компилируете и связываете ассемблерный код с остальной частью программы?
  • Символы C могут быть украшены, как компилятор, использующий «_GetValueFromAsm»
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]