C에서 C 함수를 호출하면 특히 "extern "C" void foo()" 접근 방식이 실패하는 경우 문제가 발생할 수 있습니다. g 의 컴파일 문제. 이 문제를 해결하기 위해 다른 전략이 제안됩니다.
컴파일:
C 코드 컴파일:
gcc -c -o somecode.o somecode.c
C 컴파일 코드:
g++ -c -o othercode.o othercode.cpp
링크:
C 링커를 사용하여 컴파일된 파일을 함께 링크합니다:
g++ -o yourprogram somecode.o othercode.o
헤더 포함:
다음으로 C 헤더가 포함되어 있음을 C 컴파일러에 알리고 othercode.cpp 파일을 다음과 같이 업데이트합니다.
extern "C" { #include "somecode.h" }
somecode.h 헤더 파일:
C를 선언하는 헤더 파일(somecode.h) 함수:
#ifndef SOMECODE_H_ #define SOMECODE_H_ void foo(); #endif
참고:
이 방법은 컴파일을 C 단계와 C 단계로 분리한 다음 연결합니다. 컴파일러(이 예에서는 gcc) 선택은 유연하지만 원칙은 동일합니다.
위 내용은 C 코드에서 C 함수를 성공적으로 호출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!