1
Görsel stüdyo 2013 kullanıyorum ve basit bir kod kodu çalıştırmaya çalışıyorum.cpp modülünde assembler kodunu kullanmaya çalışırken linker hatası
main.cpp:
#include "Header.h"
void _printf() {
printf("HELLO\n");
}
int main()
{
sayHello();
return 0;
}
Header.h:
#include <stdio.h>
void _printf();
extern "C" {
void sayHello();
}
ve asm dosya hello.asm: aşağıdaki hatayı alıyorum bundan sonra
SECTION .text
EXTERN _printf
global sayHello
sayHello:
push ebx
call _printf
pop ebx
ret
:
Error 1 error LNK2019: unresolved external symbol _sayHello referenced in function _main c:\Users\art.mhtr\documents\visual studio 2013\Projects\ConsoleApplication8\ConsoleApplication8\main.obj ConsoleApplication8
Hala çalışma zamanında bir hata olsun. Program sadece – Artyom
çöküyor '_printf' aramak için' call __printf' kullanmanız gerekir. Veya, orijinal koda geri dönün ve "nasm --prefix _" kullanın – Jester
"__printf" un tanımsız olduğunu belirtir – Artyom