如何在動態庫中打印調試信息到控制檯中顯示

int dllPrintf(char *fmt, ...)
{
    //不定參數格式化
	va_list argptr;
	va_start(argptr, fmt);
	char buffer[512] = {0};
	int cnt = vsprintf(buffer, fmt, argptr);
	va_end(argptr);

    //建立控制檯窗口
	static HANDLE gHConsole = INVALID_HANDLE_VALUE;
	if (INVALID_HANDLE_VALUE == gHConsole) {
		AllocConsole();
		gHConsole = GetStdHandle(STD_OUTPUT_HANDLE);
	}
    //打印到指定的控制檯窗口
	DWORD dw;
	WriteConsole(gHConsole, buffer, strlen(buffer), &dw, NULL);
	
	return(cnt);
}
相關文章
相關標籤/搜索