저는 최근에 debian 테스트를 업그레이드 한 후 gcc 6.2.1 컴파일러를 사용하여 코드 조각을 컴파일하는 문제에 봉착했습니다.gcc가 -O2없이 인라인 함수를 수행하지 못합니다.
이inline int func(void) {
return 0;
}
int main (int argc, char **argv) {
func();
}
코드는 다음과 같이 하지 컴파일 않습니다 :이 간단한 예제로 내려 삶은 한
undefined reference to 'func'
gcc -o exec code.C# gcc 6.2.1
나는 또한 동일한 호스트에서 gcc 4.8, 4.9 및 5를 시도하고 실패했습니다. 내가 추가 할 경우 컴파일 않습니다
gcc -o exec code.c -O2 # gcc 6.2.1
내가는 -O2 플래그와 함께 작동 이유에 정말 궁금하지만하지 않고, 난이 일을 기대?
"코드가 컴파일되지 * 않습니다 *"라고하는 것은 무엇을 의미합니까? 어떤 오류가 발생합니까? 컴파일러에서 전체, 완전 및 편집되지 않은 출력을 포함하도록 질문을 편집하십시오. –
'인라인'이 반복하는 횟수는 ... 반복적으로 ... – DeiDei
'func' 문에'return' 문이 없기 때문에 프로그램이 컴파일되지 않습니다. 기능. 컴파일러의 오류 메시지는 매우 명확합니다. –