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

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

Linda Hamilton
リリース: 2024-11-23 00:37:15
オリジナル
657 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート