C 関数を C コードに統合するには、標準イディオム「extern "C" の利用を検討するかもしれません」 void foo()」。ただし、このアプローチは、 gcc でコンパイルが成功しても、 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 関数の宣言を先頭に含めます。 "extern "C" {}:
extern "C" { #include "somecode.h" }
ヘッダー ファイル somecode.h:
#ifndef SOMECODE_H_ #define SOMECODE_H_ void foo(); #endif
注: この例のコマンドは gcc 用であり、基本的なアプローチはどのコンパイラーにも適用できます。 C と C のコードを個別にコンパイルしてから、それらをリンクします。
以上がC コード内から C 関数を正常に呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。