#define DRIVER_WIFI 3
#define PREFIX_DRIVER_WIFI "[D:WIFI]"
void msg(char* str)
{
printf(str);
}
#define MSG(mode, fmt) \
{ \
msg(PREFIX_##mode " " fmt); \
} \
int main()
{
MSG(DRIVER_WIFI, "Hello world");
return 0;
}
請問一下,最後會印出 [D:WIFI] Hello world,
那這個字串應該是完全在編譯期就決定好的吧?
還是說編譯期只決定了字串由PREFIX_DRIVER_WIFI " " "Hello world"組成,
最後在執行期才變成[D:WIFI] Hello world?
感謝指點....
--
閉上眼睛 我看見過去
張開眼睛 我看見未來
只是那些看不見的 依舊存在
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.42.170.234
推
07/05 21:46, , 1F
07/05 21:46, 1F
推
07/05 21:48, , 2F
07/05 21:48, 2F
推
07/05 21:50, , 3F
07/05 21:50, 3F
推
07/06 18:01, , 4F
07/06 18:01, 4F
→
07/06 18:01, , 5F
07/06 18:01, 5F