我試圖弄清楚一個透明的解決方案,用於在我的遊戲中重複出現的調試暫停。我可以製作一個HALT_ONCE宏嗎?
對於一個微不足道的例子;說我在我的渲染器中停下來,告訴我什麼時候嘗試使用NULL材質。我的渲染器處理這個很好,但我仍然想知道我做錯了什麼。 這個暫停將立即擊中每一幀,除非我手動禁用它。
這是代碼ID喜歡變成一個宏(或別的東西,這就是透明的porssible)
#define HALT(errorMsg) printf(errorMsg);__asm { int 3 };
satic bool hitOnce = false;
if (!hitOnce)
{
hitOnce = true;
HALT("its all gone wrong!")
}
的想法我有,是使創建此代碼的宏,具有獨特的每次布爾變量。目前我遇到的問題是,我不能在編譯時增加數字來爲每個HALT_ONCE生成唯一的靜態布爾值。
您可以使用'__COUNTER__'宏在編譯時生成唯一的ID,但Evan Teran有更好的解決方案。 – 2009-09-10 15:01:16