void CCLog(const char * pszFormat, ...) { SS_printf("Cocos2d: "); char szBuf[MAX_LEN]; va_list ap; va_start(ap, pszFormat); #ifdef _TRANZDA_VM_ vsprintf_s(szBuf, MAX_LEN, pszFormat, ap); #else vsnprintf(szBuf, MAX_LEN, pszFormat, ap); #endif va_end(ap); SS_printf("%s", szBuf); #ifdef _TRANZDA_VM_ SS_printf("\n"); #else SS_printf("\r\n"); FILE * pf = fopen(LOG_FILE_PATH, "a+"); if (! pf) { return; } fwrite(szBuf, 1, strlen(szBuf), pf); fwrite("\r\n", 1, strlen("\r\n"), pf); fflush(pf); fclose(pf); #endif }
//DLL提供的查询DLL能否被Unload SS_EXPORT HRESULT TDllCanUnloadNow(void) { #ifdef __TCOM_OUTPUT_DEBUG_INFO__ SS_printf("[TCOM_SYSTEM] TDllCanUnloadNow: address1: %p, address2: %p, value1: %d, value2: %d.\n", &__TCOM_ClsidInstanceRefCount, &__TCOM_CalssFactoryLockedCount, __TCOM_ClsidInstanceRefCount, __TCOM_CalssFactoryLockedCount); #endif if((__TCOM_ClsidInstanceRefCount <= 0) && (__TCOM_CalssFactoryLockedCount <= 0)) return TCOM_S_TRUE; return TCOM_S_FALSE; }
//DLL全局使用:增加ClassFactory被Locked的次数 Int32 TCOM_AddCalssFactoryLockedCount() { __TCOM_CalssFactoryLockedCount++; #ifdef __TCOM_OUTPUT_DEBUG_INFO__ SS_printf("[TCOM_SYSTEM] TCOM_AddCalssFactoryLockedCount: address: %p, value: %d.\n", &__TCOM_CalssFactoryLockedCount, __TCOM_CalssFactoryLockedCount); #endif if(__TCOM_CalssFactoryLockedCount <= 0) { return 0; } return __TCOM_CalssFactoryLockedCount; }
//DLL全局使用:减少对象实例被引用次数 Int32 TCOM_DecClsidInstanceRefCount() { __TCOM_ClsidInstanceRefCount--; #ifdef __TCOM_OUTPUT_DEBUG_INFO__ SS_printf("[TCOM_SYSTEM] TCOM_DecClsidInstanceRefCount: address: %p, value: %d.\n", &__TCOM_ClsidInstanceRefCount, __TCOM_ClsidInstanceRefCount); #endif if(__TCOM_ClsidInstanceRefCount <= 0) { return 0; } return __TCOM_ClsidInstanceRefCount; }