動作環境
Ubuntu 16.04.3 LTS desktop amd64
tmux 2.1-3build1
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609
処理概要
- Linuxと組込み環境で同じソースを使う
- Linux上では
main()
を含め、組込みでは含めない
gccの-Dオプション
コード例
withMain_180830.c
#include <stdio.h>
void testFunc(void)
{
}
#ifdef DEBUG_WITH_MAIN
int main(void)
{
printf("hello\n");
}
#endif
Linuxでmain()付きでコンパイルするには
$ gcc -DDEBUG_WITH_MAIN withMain_180830.c
組込みではDEBUG_WITH_MAIN
マクロを指定せずに使う。
備考
他にも方法はあるかもしれないが、一つの方法として。
他には__GNUC__
や__LINUX__
を使う方法も考えたが、組込みの環境は将来GNUCと関わったり、Linuxで使うことになる可能性も残せるように、上記のようにしている。