#define LED1_ON() { /* twiddle port bit */ }
#define LED2_ON() { /* twiddle port bit */ }
// ...
#define LED9_ON() { /* twiddle port bit */ }
#define LED_ON(x) LED##x_ON()
上記のコード(または同様のもの)を使用して、(たとえば)LED_ON(1)
マクロを呼び出したり、マクロをLED1_ON()
呼び出したりしたいと思います。 LED_ON(2)
LED2_ON()
cpp にこれを実行させることは可能だと思いますが、明らかに構文が正しくありません。これを可能にする構文を知っている人はいますか?
を呼び出す行でLED_ON(2)
、gcc からエラー メッセージが表示されます。
undefined reference to `LEDx_ON'