GCC가 이 아닌 경우이 "정의되지 않은 참조"링크를 만들 때 오류 메시지를 보냈습니까?GCC는 정의되지 않은 참조에 대해 불평하지 않을 수 있습니까?
예를 들어,이 C 코드를 GCC에 의해 컴파일 및 링크 된 상황 : 심지어 made_up_function_name
불구하고 ...
void function()
{
made_up_function_name();
return;
}
는 코드에서 어디 (안 헤더, 소스 파일이 존재하지 않습니다 선언, 또는 제 3 자 라이브러리).
실제 코드를 건드리지 않고도 특정 조건에서 GCC가 승인하고 컴파일 할 수 있습니까? 그렇다면 어느 것입니까?
감사합니다.
EDIT : made_up_function_name
에 대한 이전 선언이나 언급이 그 밖의 다른 곳에 존재하지 않습니다. 전체 파일 시스템 중 grep -R
이 인 경우에만이 코드의 정확한 단일 행을 표시한다는 것을 의미합니다.
C++을 컴파일하지 않는 한 C++을 컴파일 할 수 있습니다. 너는 무엇을 성취하려고 노력하고 있니? –
나는 아무것도하려고하지 않고있다. 벌써 일어나고 있으며, 그것이 가능한 이유를 알고 싶다. made_up_function_name은 실제로 "-g"를 사용하고 텍스트 편집기로 파일을 편집하면 링크 된 최종 바이너리에 있습니다. – STenyaK
이유는 다음을 참조하십시오. http://stackoverflow.com/questions/4914589/c-prototype-functions/4914683, http://stackoverflow.com/questions/4800102/not-including-stdlib-h-does-not - 생성 - 모든 - 컴파일러 오류/4800138 # 4800138, 그리고 아마도 꽤 더 있습니다. –