在我的C++項目中,我需要使用「測試模式」。將預處理器指令與功能代碼混合是一種不好的做法嗎?
通常有些進程需要由其他進程產生。由於調試由另一個應用程序啓動的應用程序有點棘手,我需要這種基本上分配控制檯的測試模式,模擬創建隨機數據的其他進程的存在,因此不需要使用IPC設施。
我開始使用預處理指令代碼,如:
int APIENTRY _tWinMain(...) {
#ifdef TEST_MODE_ON
AllocConsole();
...
#endif
...
#ifdef TEST_MODE_ON
FreeConsole();
...
#endif
}
,但我認爲這不是從視代碼的可讀性點的最好辦法。這是一種不好的做法嗎? (爲什麼?)還有其他更好的方法嗎?謝謝!
請不要使用TCHAR及其同類,除非您正在移植古老的Windows程序。 – Deduplicator
是的,我在Windows 8上移植了一些非常舊的代碼,但我沒有看到與我的問題的鏈接。順便說一句,爲什麼我應該避免使用tchar? – Chaplin89
你看過''嗎? –
Deduplicator