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

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

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-23 00:37:15658ブラウズ

How to Successfully Call C Functions from C   Code?

C コードから C 関数を呼び出す方法

C から C 関数を呼び出すことは、特に「extern "C" void の場合、困難になる可能性があります」 foo()」アプローチは g コンパイル環境では失敗します。この問題に対処するには、次の代替案を検討してください。

コンパイルとリンク

まず、以下を使用して C コードをコンパイルします。

gcc -c -o somecode.o somecode.c

次に、以下を使用して C コードをコンパイルします。

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

最後に、C を使用して 2 つのファイルをリンクします。 linker:

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

Header Declaration

C コードには、C 関数が宣言されるヘッダーを含めます。ただし、C コンパイラーがヘッダーを C ヘッダーとして認識できるようにするには、次の構文を使用します。

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

somecode.h

somecode.h ヘッダーは、次のような C 関数を宣言します:

#ifndef SOMECODE_H_
#define SOMECODE_H_

void foo();

#endif

追加注

  • 使用するコンパイラー (gcc、clang など) に関係なく、個別のコンパイルとリンクの原則は同じです。
  • このアプローチにより、C 言語の共存が可能になります。単一プロジェクト内の C コード。

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

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