2015-08-26 31 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