掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
関数を使えるようにするには? (ID:65302)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
#define __MAIN_PGM__ マクロを定義したいファイルの先頭で記述します。 参照だけにしたいファイルには記述しません。 次に、 このマクロの下にインクルードファイルを並べます。 各インクルードファイルは以下のような取り決めで記述します。 #ifndef __XXXX_H__ #define __XXXX_H__ #ifdef __MAIN_PGM__ #define MY_EXTERN #else #define MY_EXTERN extern #endif MY_EXTERN char v1; MY_EXTERN int v2; MY_EXTERN long v3; MY_EXTERN double v4; #endif 上記内容が、XXXX.H に記述されているとき、 __MAIN_PGM__ を宣言しないファイル中では、 extern char v1; extern int v2; extern long v3; extern double v4; と外部参照変数として宣言されます。 __MAIN_PGM__ が定義されているファイル中では、 char v1; int v2; long v3; double v4; と未初期化の変数実体として定義されます。 同時に初期化とか、関数ポインタとか、古いC言語との互換性を 持たせたいとか、色々突っ込むと記述が複雑怪奇になり見た目 なんだかよくわからない何かを定義・宣言しているブラックボッ クスみたいなファイルになってしまうので外部参照・宣言くらい に留めておいた方が良いです。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.