摘要:
分区 X86 32位windows 空指针区 0x00000000-0x0000FFFF(65535) 用户模式分区 0x1000-0x7FFEFFFF 64KB进入分区 0x7FFF0000-0X7FFFFFFF 空指针区是为了捕获空指针 少于FFFF(65535)的也会异常 不单单是零 阅读全文
摘要:
本想早点写完 没想到 搞了这么久 到现在还没明白为啥 我多线程同时读取一个文件 不用对象 为啥就不行呢 哎 杯具啊 睡觉去鸟 阅读全文
摘要:
问题解决!如下所示,自己手工添加的映射函数不要写到注释行中间。添加到后面即可 //{{AFX_DATA_INIT(CAssessweightPage) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT DDX_Text(pDX, IDC_EDIT1, aifa[0]); DDX_Text(p... 阅读全文
摘要:
主线程退了 程序就退了 进程内资源对象 大部分是属于进程的 线程只有窗口和钩子是 属于线程的 线程结束了 这2个会给自动卸载 Threadid = GetExitThreadid() 线程ID = GetWindowThreadProcessId(findwindow(“计算机”,进程ID); 同步问题 核心编程上分为2种 一种就是用户模式的 就是进程内同步 不涉及到内核对象 一种是内核对象同步... 阅读全文
摘要:
效率依然不高。。。。 看书3小时 看看能总结出来啥 句柄表的设计应该算是一种保护 为了不让用户直接操作对象 而选择一种中转得方式 写个伪代码吧 建立文件对象(参数)// Createfile { 文件内核对象 = 内核建立文件对象(参数); 文件句柄 = 分配一个句柄(文件内核对象);//这里说是一个3层的表的 A[255][255][255] return 句柄 } //如果直接返回文... 阅读全文
摘要:
DLL的加载分为 显示和隐式 调用 1 隐式调用是包含DLL导出LIB 然后调用其中的导出函数 才会发生隐式调用 也就是说如果没有发生调用 即使包含也不会发生隐式调用。 链接阶段,动态链接库的LIB 就相当于一个编译单元(obj),不过他不是他自己的代码嵌入到EXE中 而是在把需要调用函数信息(包括在那个DLL中)写入到EXE的导入表中。注 个人理解 不一定太对 不可全信 程序DLL 和EXE... 阅读全文
摘要:
今天上课说了 在DLL里如果NEW出来一个变量的话 当在其他模块中调用这个变量 并申请空间 这样会发生错误 分配空间的时候会检查当前申请的空间变量时候在当时的模块生成的???神马。。。 中会使用new --> HeapAlloc申请堆空间 //当delete地址的时候 //会检查当前模块是否和申请时候的模块一致 NEW的时候是在主线程模块中 而DLETE的时候在变量所在模块中 因为代码... 阅读全文
摘要:
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 阅读全文
摘要:
Windows 用来定位 DLL 的搜索路径 通过隐式和显式链接,Windows 首先搜索“已知 DLL”,如 Kernel32.dll 和 User32.dll。 Windows 然后按下列顺序搜索 DLL: 在没有指定却对路径时 1 当前进程的可执行模块所在的目录。(指定的目录) 2 当前目录。 (进程的目录) 3 Windows 系统目录。 GetSystemDirectory 函... 阅读全文
摘要:
DLL是一组源代码模块,每个模块提供程序一些功能。 DLL 不能拥有资源 在它的模块中申请的资源对象归线程所有 如果DLL 被freelibrary(),对象不会被卸载。 但线程卸载,资源就会被释放。DLL的建立.h文件 包含导出的函数静态库编译器会编译器包含符号表和代码动态库编译器会生成个小体积的LIB文件 它不包含代码 只有符号表 代码在DLL中__declspec(dllimport)__declspec(dllexport)隐式调用通过包含LIB 文件或静态LIB文件,在程序连接的时候会产生导入表的一些信息。当程序运行的时候会先载入导入表中的需要的DLL这个是深度优先的算法。初始化完. 阅读全文