1. 程式人生 > >VS除錯c++動態庫最簡單最高效的方法

VS除錯c++動態庫最簡單最高效的方法

原理是將dll工程屬性修改為控制檯屬性,於是main函式就可以啟動了。

有如下動態庫程式碼【順便寫一個main函式呼叫】:


此時有兩種方法可以修改工程屬性

方法一:直接修改工程對應的vcxproj檔案

1.將<SubSystem>Windows</SubSystem>

  替換成<SubSystem>Console</SubSystem>

2.將<ConfigurationType>DynamicLibrary</ConfigurationType>

  替換成<ConfigurationType>Application</ConfigurationType>

如圖:


方法二:vs頁面進行修改

配置型別改為應用程式exe


子系統改為控制檯


屬性修改完以後,就可以從main函式運行了。

如果不想修改成控制檯程式,可以寫winmain的入口:

int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR    lpCmdLine,
int       nCmdShow)
{
int x = fun(10);
return 0;

}

注意問題:

mfc動態庫使用clr支援時,這個方法沒法用

win32動態庫clr支援時,呼叫也存在一些問題