2011年8月2日

摘要: DLL的加载分为 显示和隐式 调用 1 隐式调用是包含DLL导出LIB 然后调用其中的导出函数 才会发生隐式调用 也就是说如果没有发生调用 即使包含也不会发生隐式调用。 链接阶段,动态链接库的LIB 就相当于一个编译单元(obj),不过他不是他自己的代码嵌入到EXE中 而是在把需要调用函数信息(包括在那个DLL中)写入到EXE的导入表中。注 个人理解 不一定太对 不可全信 程序DLL 和EXE... 阅读全文
posted @ 2011-08-02 23:52 我要穿越 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 今天上课说了 在DLL里如果NEW出来一个变量的话 当在其他模块中调用这个变量 并申请空间 这样会发生错误 分配空间的时候会检查当前申请的空间变量时候在当时的模块生成的???神马。。。 中会使用new --> HeapAlloc申请堆空间 //当delete地址的时候 //会检查当前模块是否和申请时候的模块一致 NEW的时候是在主线程模块中 而DLETE的时候在变量所在模块中 因为代码... 阅读全文
posted @ 2011-08-02 22:57 我要穿越 阅读(164) 评论(0) 推荐(0) 编辑
摘要: CodeBOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/){ if (dwReason == DLL_PROCESS_ATTACH) { BOOL bResult = FALSE;#ifdef _AFXDLL // wire up resources from core DLL AfxCoreInitModule();#endif _AFX_THREAD_STATE* pState = AfxGetThreadState(); AFX_MODULE_STATE* pPrevModStat 阅读全文
posted @ 2011-08-02 20:21 我要穿越 阅读(676) 评论(1) 推荐(0) 编辑

导航