文章分类 - C++
摘要:进程通常被定义为一个正在运行的程序的实例,它由两个部分组成: 一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方 另一个是地址空间,它包含所有的可执行模块或DLL模块的代码和数据。它还包含动态分配的空间。如线程堆栈和堆分配空间。每个进程被赋予它自己的虚拟地址空...
阅读全文
摘要://获取进程路径CString GetProcessPath( DWORD idProcess ){ // 获取进程路径 CString sPath; // 打开进程句柄 HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCE...
阅读全文
摘要:前几天收到游戏中一个很严重的bug,执行某项操作的时候会出现卡死的现象。最后调试的时候定位到std的sort函数,发现一进这个函数就出不来了,很可能在里面出现了死循环。刚开始,我还是很诧异。大名鼎鼎,久经考验的的STL算法也会出现死循环?于是baidu了一下,果然在网上也发现不少人碰到过类似情况。出现死循环大多是由于在sort函数中的比较函数里面相等元素返回了true。std的sort函数用的是QuickSort算法,采用分段递归排序。很可能是在递归的时候出现问题,导致无限递归循环。后来看到EffecitveSTL中第21条:永远让比较函数对相同元素返回false。 不过也有一个更保险的方法就
阅读全文
摘要:以前学过一阵子汇编,后来又忘记了不少,最近翻起来,又发现在C++层其实有很多可以编程习惯,可以根据汇编原理进行优化。//=========================================1:多使用float.为了让编译器产生更好的3DNow!或SSE指令代码,我们可以必须确定浮点型变量和表达式是float型的,为避免float自动转换为double,我们声明时需要强调,并在后面加以f后缀。//=========================================2:适时使用无符号整形1)int转换float/double类型时,建议使用有符号整形,因为X86构架中,
阅读全文

浙公网安备 33010602011771号