ホームページ >バックエンド開発 >C++ >C コード内から C 関数を正常に呼び出すにはどうすればよいですか?

C コード内から C 関数を正常に呼び出すにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-26 09:47:10584ブラウズ

How Can I Successfully Call C Functions from Within C   Code?

C コード内からの C 関数の呼び出し: 総合ガイド

C 関数を C コードに統合するには、標準イディオム「extern "C" の利用を検討するかもしれません」 void foo()」。ただし、このアプローチは、 gcc でコンパイルが成功しても、 g でのコンパイル中に失敗する可能性があります。

この問題に対処するには、次の手順に従ってください。

ステップ 1: C と C コードの個別のコンパイル

次のコマンドを使用して C コードをコンパイルします。

gcc -c -o somecode.o somecode.c

C コードをコンパイルします。使用:

g++ -c -o othercode.o othercode.cpp

ステップ 2: C リンカーによるリンケージ

C リンカーを使用してコンパイルされたオブジェクトを結合します:

g++ -o yourprogram somecode.o othercode.o

ステップ 3: C コンパイラーに通知C ヘッダー

C コード内で C 関数の宣言を先頭に含めます。 "extern "C" {}:

extern "C" {
#include "somecode.h"
}

ステップ 4: somecode.h での宣言

ヘッダー ファイル somecode.h:

#ifndef SOMECODE_H_
#define SOMECODE_H_

void foo();

#endif

注: この例のコマンドは gcc 用であり、基本的なアプローチはどのコンパイラーにも適用できます。 C と C のコードを個別にコンパイルしてから、それらをリンクします。

以上がC コード内から C 関数を正常に呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。