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

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

Barbara Streisand
リリース: 2024-11-24 07:51:11
オリジナル
625 人が閲覧しました

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 までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート