ホームページ > バックエンド開発 > C#.Net チュートリアル > C/C++ で extern キーワードを使用する方法

C/C++ で extern キーワードを使用する方法

little bottle
リリース: 2019-04-29 10:56:54
転載
3567 人が閲覧しました

この記事では、C/Cにおけるexternキーワードの使い方を、主に変数を変更する際の使い方について紹介しますので、参考にしてください。 、お役に立てば幸いです。

1. 基本的な説明
extern は、変数または関数の前に配置して、変数または関数の定義が別のファイルにあることを示し、コンパイラーにこの変数を検出するように指示することができます。または関数 他のモジュールでその定義を探す場合。さらに、extern を使用して仕様をリンクすることもできます。
extern には 2 つの関数があります: (1) extern "C" void func(int a); のように、「C」と一緒に使用される場合、func 関数をコンパイルするときに C の規則に従うようにコンパイラーに指示します。 name. C の代わりに対応する関数名を翻訳します。この点については、書籍「C オブジェクト モデルの詳細な探索」で答えが見つかるかもしれません。さらに、Linux には、スタック情報を出力し、C に翻訳された関数名を表示できるバックトレース関数があります (この関数は Muduo ライブラリで使用されます)。
(2) ヘッダー ファイルなどで変数または関数を変更するために extern が "C" と一緒に使用されない場合: extern int g_Int; その機能は関数またはグローバル変数キーワードのスコープを宣言することです。宣言された関数と変数はこのモジュールまたは他のモジュールで使用できます。これは定義ではなく宣言であることに注意してください。
2. extern が変数を変更する場合
これを使用する正しい方法は、.c ファイルで変数を定義し、対応する .h ファイルでそれを宣言することです。
宣言か定義かは、変数にメモリ空間が確保されるかどうかで判断します(厳密にはメモリを確保するだけで初期化部分は含まれません)。それでは、文 int i; はそれを宣言するのでしょうか、それとも定義するのでしょうか?それはステートメントでもあり、定義でもあります。 test.h ファイルでこの文を使用すると、一度 i が他のファイルで定義されたり (例: 1)、ファイルが繰り返しインクルードされると (例: 2)、再定義エラーが発生します。

/*
	e.g.1 	以下为3个文件
*/
//test.h
int i;

//test2.h
int i;

//main.cpp
#include "test.h"
#include "test2.h"
int main()
{
	return 0;
}
ログイン後にコピー
/*
	e.g.2 	以下为3个文件
*/
//test.h
int i;

//test2.h
#include "test.h"

//main.cpp
#include "test.h"
#include "test2.h"
int main()
{
	return 0;
}
ログイン後にコピー

関連チュートリアル: C ビデオ チュートリアル

以上がC/C++ で extern キーワードを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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