小川と申します.
At Sat, 18 Jan 2003 22:01:05 +0900,
Koji Tsubota <caasr905 _at_ hcn.zaq.ne.jp> wrote:
>
> Kojiです。
>
> CPPFLAGS=-DKOJI
> で実現できるのが分かりましたが
> 他の方法はないでしょうか?
gcc には -imacros というオプションがあり,
これを使うと以下のようなことが可能です.
[使用例]
○ ソースファイル main.c
$ cat main.c
int main(int argc, char **argv)
{
printf("%s %d\n", S1, NUM1);
return 0;
}
○ 別に用意したマクロ定義用ファイル macros.h
$ cat macros.h
#define S1 "USO"
#define NUM1 800
○ 一応 Makefile
$ cat Makefile
all:
gcc main.c -imacros macros.h
○ コンパイル & 実行
$ make
gcc main.c -imacros macros.h
$ ./a.out
USO 800
この方法だと余計なファイルが一つ増えてしまいますが,
ソースに手を加えることは避けられます.
仮に -D の使用回数に制限がある環境があるとしても,
その影響は受けないと思われます.
/* ***************************
OGAWA, Daisuke
e-mail: d_ogawa _at_ par.odn.ne.jp
* *************************** */
References:
- [fol] gccコンパイルオプションについてKoji Tsubota
- [fol] Re: gccコンパイルオプションについてHiroshi Fujishima
- [fol] Re: gccコンパイルオプションについてKoji Tsubota
- Prev by Date: [fol] Re: gcc コンパイルオプションについて
- Next by Date: [fol] Re: gcc コンパイルオプションについて
- Previous by thread: [fol] Re: gccコンパイルオプションについて
- Next by thread: [fol] Newbie
- Indexes:[Main][Thread]