2015-08-26 33 views
2

我已經搜索了很長一段時間,還沒有找到這些宏的定義。我遇到他們通過this articleIFCOOM,IFC,SAFE_RELEASE宏的含義是什麼?

我想它與COM,DirectX和/或調試有一些關係。

+0

從來沒有遇到過它們,並且在COM中進行了廣泛的編程,所以我懷疑它是什麼。你不能右鍵點擊宏並轉到其定義? – Bathsheba

+0

我實際上被推遲了,定義就在這裏 – Ilia

回答

1
#define IFC(x) { hr = (x); if (FAILED(hr)) goto Cleanup; } 
#define IFCOOM(x) { if ((x) == NULL) { hr = E_OUTOFMEMORY; IFC(hr); } } 
#define SAFE_RELEASE(x) { if (x) { x->Release(); x = NULL; } } 
+0

幾乎是我見過的最愚蠢的宏(尤其是IFC),但可能對本站有用,所以加上一個。 – Bathsheba