分割コンパイルで
ファイル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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C言語で再起関数とポインタを用いて文字列反転をする方法がわかりません。 4 2023/04/29 20:32
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- その他(プログラミング・Web制作) Arduino UNO のC言語 2 2023/04/18 19:42
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- その他(プログラミング・Web制作) 十進BASICでの再帰についての質問です。 2 2022/11/18 09:17
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
#defineの定数を文字列として読み込む
C言語・C++・C#
-
C言語での引数の省略方法
C言語・C++・C#
-
C言語で、メモリを解放しないで終わるプログラム
C言語・C++・C#
-
-
4
既定のコンストラクタがない?
C言語・C++・C#
-
5
C言語でヘッダファイルにグローバル変数を宣言する
C言語・C++・C#
-
6
C言語 exitの使い方
C言語・C++・C#
-
7
char str[256]の256の意味は?
C言語・C++・C#
-
8
2重定義って??
C言語・C++・C#
-
9
複数ファイルに分割した時の構成について
C言語・C++・C#
-
10
C言語初心者の質問失礼します。
C言語・C++・C#
-
11
別ファイルの構造体の値を読み込む、変えるには?2
C言語・C++・C#
-
12
fopne で失敗する原因
C言語・C++・C#
-
13
for文の中にswitch文はいれられない??
C言語・C++・C#
-
14
数字以外が入力されたらエラー文を出したい。
C言語・C++・C#
-
15
C言語の#defineについて
C言語・C++・C#
-
16
define で 配列
C言語・C++・C#
-
17
構造体のextern方法
C言語・C++・C#
-
18
ソース内の行末に\\
C言語・C++・C#
-
19
コマンド(例えばls)の出力結果を文字列で取得するプログラムの作成方法
C言語・C++・C#
-
20
unsigned long long 型のフォーマット指定子
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
csvファイルを開かずに文字を検...
-
ファイル名の先頭にアンダース...
-
SGファイルって何ですか?
-
CSVファイルへの保存の際、デー...
-
「VBScript」ADODB.Streamにお...
-
マウスポインタの変更
-
分割コンパイルの#defineについて
-
バッチで118項目のCSVを処理し...
-
[VBScript]ファイルの入出力を...
-
VB6でのファイル作成方法
-
VBに、Cのincludeのようなもの...
-
大きいサイズのテキストファイ...
-
fopenできる上限の変更
-
同じ名前のファイルを作った場...
-
■ 移植性のないポインタ変換に...
-
プログラムで文字をBMPファイル...
-
C言語のfopenについて教えてく...
-
CSVファイル
-
Javascript で INI の読み書き
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
csvファイルを開かずに文字を検...
-
ファイル名の先頭にアンダース...
-
CSVファイルへの保存の際、デー...
-
ファイルを記録してあるセクタ...
-
テキストファイルの最終行を削...
-
SGファイルって何ですか?
-
ドラッグアンドドロップでファ...
-
分割コンパイルの#defineについて
-
VBに、Cのincludeのようなもの...
-
fopenできる上限の変更
-
グローバル変数のよくない使い...
-
ファイルの結合
-
大きいサイズのテキストファイ...
-
iniファイルに追記がしたいです。
-
バッチで118項目のCSVを処理し...
-
ハッシュの計算時間について
-
C言語のfopenについて教えてく...
-
Javascript で INI の読み書き
-
Excelマクロでの再読込み方法
おすすめ情報