簡體   English   中英

如何在C ++中使用DLL API中的徽標獲取日志

[英]How to get log by using logog in DLL API's in C++

如何在DLL API中編寫日志?

在我的程序中,我使用兩個線程和一個主線程。 我正在初始化:

LOGOG_INITIALIZE();

logog::LogFile errFile("log.txt");

進入我的主線程並在其他兩個線程中使用INFOERR 我的主線程正在使用C ++ DLL API。 我可以從主線程和其他兩個正在運行的線程中獲取日志,但是我的問題是我無法從DLL API的流中獲取日志。 如何通過使用DLL API中的徽標獲取日志。 我想在這里清除是否在DLL API中使用INFO 它崩潰了,但是如果我執行LOGOG_INITIALIZE(); 在DLL API中, INFO執行但不記錄任何內容。

如果我沒弄錯,您的情況如下:例如,您有一個使用共享庫(DLL)的應用程序(EXE)。 您希望能夠同時從EXE和DLL登錄。

上次我簽出徽標庫時,我遇到了上述情況的問題。 也許現在更正了嗎?

在Windows(僅!)下, 徽標庫不導出任何符號-根本不准備用作DLL。 這會迫使您將徽標作為靜態庫進行構建和使用-導致徽標庫中的靜態變量出現問題,該靜態變量應該只存在一次,但實際上存在的次數與將靜態庫鏈接到模塊的次數相同(EXE或DLL) )。

解決方案是將徽標庫作為DLL構建並使用。

也許這可以解決您的問題,並且您可能會嘗試導出徽標庫的符號。 或者您可以與圖書館作家聯系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM