
分割コンパイルで
ファイル1
#include <stdio.h>
#define number 10
char string[number];
int main(void){
string[0]='a';
string[1]='b';
file_to();
return 0;
}
ファイル2
#include <stdio.h>
#define number 10
extern char string[number];
void file_to(void){
/***何かの処理をする*****/
}
って感じなんですけども、配列string の中身の値をdefineによって指定しているのですが、片方のdefineの値を変更する時、もう一つのdefineも手動で変更しています。関係するファイル数が多くなってくると大変なので、どれかのdefineの値を変化させたら自動的に他のdefineの値も変更するプログラムの組み方はありませんか?
質問がわかりにくいかも知れませんがよろしくお願いします。
No.1ベストアンサー
- 回答日時:
#define 部分を mydef.h のようなファイルにまとめておき、各プログラムには、
#include "mydef.h"
とすればよいです。
makeを使っている場合は、依存関係を追加したほうが楽です。例えば、a.cというファイルでmydef.hをincludeするなら、Makefileの中に
a.o : mydef.h
という行を追加しましょう。
蛇足ですが、<mydef.h>ではなく"mydef.h"と記述することで、システムのディレクトリーではなく、カレントディレクトリー中のファイルを探します。
なるほど、ヘッダファイルの存在は以前から知っていたのですが、よくわからないまま、分割コンパイルに頼りきっていました。このような使い方があったのですね。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
関数から配列を返すには?
C言語・C++・C#
-
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
DWORDの実際の型は何でしょうか
C言語・C++・C#
-
-
4
変数の値が勝手に変化する原因
C言語・C++・C#
-
5
バッファとは何ですか
C言語・C++・C#
-
6
C言語での引数の省略方法
C言語・C++・C#
-
7
C言語のポインタに直接アドレスを割り振りしたい
C言語・C++・C#
-
8
構文エラー;"が型の前にありませんとは、どうしたら解決できるのですか。"
C言語・C++・C#
-
9
戻り値で構造体を返すことは可能でしょうか?
C言語・C++・C#
-
10
構造体のextern方法
C言語・C++・C#
-
11
C言語 配列の長さの上限
C言語・C++・C#
-
12
C言語でヘッダファイルにグローバル変数を宣言する
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
ファイル名の先頭にアンダース...
-
csvファイルを開かずに文字を検...
-
テキストファイルの最終行を削...
-
ダイアログボックスで複数フォ...
-
アプリケーション終了時例外エ...
-
ドラッグアンドドロップでファ...
-
error C2065: error C2057: が...
-
fopenできる上限の変更
-
Visual Stadio2008でjarファイ...
-
UNICODE文字が書き込めるWritep...
-
テキストファイル内の任意の単...
-
SGファイルって何ですか?
-
エクスプローラから開かれるWor...
-
バッチファイルでD&Dしたファイ...
-
テキストファイル更新
-
CSVファイルへの保存の際、デー...
-
グローバル変数のよくない使い...
-
読み取り専用ファイル FileStr...
-
【C&C++】指定行のみファイル書...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
ファイル名の先頭にアンダース...
-
csvファイルを開かずに文字を検...
-
VB.NETによるプロセス間通信
-
営業秘密の漏洩について
-
Thunderbirdでemlファイルを開...
-
ドラッグアンドドロップでファ...
-
CSVファイルへの保存の際、デー...
-
バッチで118項目のCSVを処理し...
-
SGファイルって何ですか?
-
ファイルの結合
-
分割コンパイルの#defineについて
-
VBAにてEXCEL以外のファイル(テ...
-
2つのCSVファイルの比較
-
ShellExecuteEx→WaitForSingleO...
-
VBに、Cのincludeのようなもの...
-
RPGでファイル名(もしくはレコ...
-
マウスポインタの変更
-
Excelマクロでの再読込み方法
-
関数の呼び方について
おすすめ情報