Google을 통해 연구 중이며 http://www.cs.virginia.edu/~evans/cs216/guides/vsasm.html을 참조하고 있지만이 오류를 해결하는 방법에 대한 아이디어가 있으면 궁금합니다. 'clear();' extern "C"에 오류가 없습니다. 나는이 문제가 해결 될 수있을 정도로 구체적이기를 바란다. 모든 조언을 크게 주시면 감사하겠습니다.Visual Studio에서 찾지 못했던 오류에 대한 자세한 내용 2017
.cpp 파일입니다.
extern "C" {
void clear();
}
int main() {
clear();
return 1;
}
.asm 파일입니다.
.586 ;Target processor. Use instructions for Pentium class machines
.MODEL FLAT, C ;Use the flat memory model. Use C calling conventions
.STACK ;Define a stack segment of 1KB (Not required for this example)
.DATA ;Create a near data segment. Local variables are declared after
;this directive (Not required for this example)
.CODE ;Indicates the start of a code segment.
clear PROC
xor eax, eax
xor ebx, ebx
ret
clear ENDP
END
Visual Studio에서 빌드 사용자 지정 파일에서 masm을 사용하도록 설정했습니다. 나는 또한 '아니오'로 설정된 빌드에서 제외했다.
사용자 지정 빌드 단계에서 명령 줄 속성은 다음과 같습니다
ml /Cx /coff clear.asm /link /SUBSYSTEM:console /out:go /entry:clear
내가 솔루션/프로젝트를 빌드 할 때/각 파일이 개별적으로 성공하지만 난 왜 '투명()을 알아낼 수 없습니다; ' 다음에 ->는 발견되지 않은 오류를 나타내는 녹색의 구불 구불 한 점을 가지고 있습니다.
extern "C" {
void clear();
}
링커 오류입니까 아니면 인텔리 센스 만 혼란 스럽습니까? – Quentin
정확한 오류를 인용하십시오. –
@RichardCritten ''clear '에 대한 함수 정의를 찾을 수 없습니다.' –