是否可以在加載(或卸載)庫時在共享庫(在Windows上爲.dll,在Linux上爲.so)中創建函數?加載/卸載共享庫時執行的代碼
就像main()函數是可執行文件的入口點一樣,我可以定義一個函數在加載或卸載DLL時執行嗎?
例如爲:
void _atstart()
{
// Initialize some stuff needed by the library
}
void _atexit()
{
// Release some allocated resources
}
我想我已經看到了這樣的例子地方,但我找不到它的任何更多的,並不能找到有關這個互聯網上的任何東西。
如果它有任何用處,我使用MinGW編譯代碼。
因此,這意味着卸載時加載時的DllMain執行兩次,一次,一次? – Tibi 2012-07-09 11:34:27
@Tibi是的。用不同的參數, – 2012-07-09 11:35:49
好的,謝謝:) – Tibi 2012-07-09 11:36:02