随笔分类 - C/C++开发
摘要:mysql版本:mysql-5.7.17依次执行:cd /homewget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gztar -zxvf boost_1_59_0.tar.gzwget h
阅读全文
摘要:单独用gcc编译单个c/c++代码时,会自动生成.dSYM调试信息。编译多个文件时不会生成。解决方法(确保.o文件存在的情况下): dsymutil 执行文件名
阅读全文
摘要:8MB的xml文件,一行30个属性,有1W多行注:以下数据仅作参考,与机器等环境有关。tinyxml:1830msrapidxml:130mspugixml:110ms从接口上来讲,tinyxml、pugixml很近似从名气来讲,rapidxml貌似是boost选用的,应该更出名吧。由于之前一直使用
阅读全文
摘要:例如:make > /home/t.txt 2>&1表示把输出的信息、错误信息等都放到t.txt文件中win和linux都通用。
阅读全文
摘要:源起: linux下运行中的服务器,因为一些原因中途重启,结果监听失败。(未设置SO_REUSEADDR)平台差异:当A、B进程都监听同一个端口时;win下若设置复用,则A进程、B进程都可监听成功(谁先监听,则谁可接受连接)。linux下设置复用,则先开哪个,哪个监听成功,另一个不成功。SO_REU
阅读全文
摘要:某些版本的gcc遇到:undefined reference to `__sync_val_compare_and_swap_4' 之类的提示。用到这些原子函数簇的地方,编译时加上参数 -march=i686即可。
阅读全文
摘要:ulimit -c unlimited 永久生效方法:修改 /etc/profile文件,增加 ulimit -c unlimited,重新登录即可。如何生成: ulimit -c unlimited设置core文件大小不限 编译时加入-g 选项 运行程序./a.out,如果发生断错误,会在工作目录
阅读全文
摘要:之前是在64位的linux下发现必须加的。然后到mingw下试了下加-fPIC还警告。。。 意思是已经是位置无关代码。又到32位的linux下试了下,发现加了没警告,而且生成的.so文件大小不同。结合刚才查到的文章描述,看来还是加的好。 只要是linux下, 编译动态库则加上 -fPIC
阅读全文
摘要:备忘录。测试下行为,然后封装下,跨平台的原子操作就可以了。一下内容来自:http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html#Atomic-Builtins 6.51 Built-in functions for atomic memory a
阅读全文
摘要:实际工作中,C++的高级语法特性很少用。以简单为主,模板啥的很少。记录下所不熟悉的问题。问题来源: 想随时查看所有对象池的实例的详情。对象池template<class T>class poolmgr{}记录所有此对象池的实例class poolmeminfo{//增加,移除接口private: s
阅读全文
摘要:1.源自linux内核源码中的一段(有汇编的,不过摘抄的c实现的,并做了一点变形)汇编的不做比较,记录下而已Linux/arch/avr32/include/asm/page.h 内核中的原版Linux/arch/mn10300/include/asm/page.h 小变更后的: 2.源自lua源码
阅读全文
摘要:#define fun(a) \{if ((a))\++a;\}#define func(a) \do{if ((a))\++a;\}若遇到判断时int b = 3;if (1) fun(b);else....上面的会出错。do{}while(0)不会出错。切记。。。
阅读全文
摘要:转自[http://hi.baidu.com/gooooner/blog/item/d57444d6c4f8e0c850da4b42.html] 用GDB调试有时会遇到堆栈全是“???”的情况,对调试带来很大麻烦。下面介绍一种方法能够显示该线程的调用栈信息(以64位系统为例介绍)。 (1)threa
阅读全文

浙公网安备 33010602011771号