随笔分类 - C++
摘要:千万不要装!!! 装了之后,传文件到linux系统下,各种xml和makefile报错(如下) Makefile:1: *** 遗漏分隔符 。 停止
阅读全文
摘要:编译时出现错误: error: cast from ‘char*’ to ‘int’ loses precision 原因:程序中存在 char* addrCom; addrCom= ......//赋值 if(-1 == (int)addrCom) //导致编译出错 { ...... } 上面是隐
阅读全文
摘要:/******************************************************************** 文件名: $FILE_BASE$.$FILE_EXT$** 版 权: (C) hanframe@163.com sz** 创建人: FlameHong** ...
阅读全文
摘要:by falcon 2008-02-23 这篇blog从减少可执行文件大小的角度分析了ELF文件,期间通过经典的"Hello World"实例逐步演示如何通过各种常用工具来分析ELF文件,并逐步精简代码。 为了能够尽量减少可执行文件的大小,我们必须了解可执行文件的格式,以及链接生成可执行文件时的后台细节(即最终到底有哪些内容被链接到了目标代码中)。 通过选择合适的可执行文件格式并剔除对可执行文件的最终运行没有影响的内容,就可以实现目标代码的裁减。因此,通过探索减少可执行文件大小的方法,就相当 于实践性地去探索了可执行文件的格式以及链接过程的细节。 当然,算法的优化和编程语言
阅读全文
摘要:带参数的宏定义,利用宏参数创建字符串——#运算符 看看以下两个宏定义:#define PSQR(x) printf("The square of x is %d.\n",(x)*(x))#define PSQR(x) printf("The square of "#x" is %d.\n",(x)*(x)) 我们的目标是希望使用宏的时候将宏体中的x替换为宏参数,但是第一个宏定义是不能完成这样的目标的,因为引号中的x会被看做是普通文本,不可替换;我们可以采用#运算符来实现这样的功能。PSQR(x)在两个不同的宏定义输出的结果如下:The
阅读全文
摘要:1.连续内存序列容器(vector,string,deque)序列容器的erase方法返回值是指向紧接在被删除元素之后的元素的有效迭代器,可以根据这个返回值来安全删除元素。vector c; for(vector::iterator it = c.begin(); it != c.end();) { if(need_delete()) it = c.erase(it); else ++it; }2.关联容器(set,multiset,map,multimap)关联容器的erase方法没有返回值,被删除的迭代器失效,所以删除前必须确保能得到下一个迭代器,可以用“后置递增迭代器”技术。map m;
阅读全文

浙公网安备 33010602011771号