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

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

Barbara Streisand
Barbara Streisandオリジナル
2024-11-24 07:51:11534ブラウズ

How to Successfully Call a C Function from C   Code?

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

C から C 関数を呼び出すと、特に「extern "C" void foo()」アプローチが失敗する場合に問題が発生する可能性があります。 g のコンパイルの問題に。これに対処するために、別の戦略が提案されています。

コンパイル:

  1. C コードのコンパイル:

    gcc -c -o somecode.o somecode.c
  2. 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) function:

#ifndef SOMECODE_H_
#define SOMECODE_H_

void foo();

#endif

注:

このメソッドは、コンパイルを C ステージと C ステージに分離し、その後にリンクします。コンパイラー (この例では gcc) の選択は柔軟ですが、原則は変わりません。

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

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