私はいくつかのマイクロコントローラーのプログラミングを行っており、次の行に沿ったコードがあります。
#define F_CPU 8000000
#define F_ADC (F_CPU / 64.0)
#define T_ADC (1.0/F_ADC)
コンパイル時に T_ADC などの計算値を出力する方法はありますか? 文字列化してみた
#define STRINGIFY(s) XSTRINGIFY(s)
#define XSTRINGIFY(s) #s
#pragma message ("T_ADC " STRINGIFY(T_ADC))
しかし、それは実際の値ではなく、マクロ展開 "(1/(8000000/64))" を与えるだけです。
これはマイクロ コントローラ プログラムであるためprintf
、起動時に を実行するのは厄介です。私は gcc を使用しています。非標準の gcc 機能が役立つ場合は喜んで使用します。