代码改变世界

随笔档案-2012年06月

C/C++ extended python时一种常见的内存泄漏

2012-06-29 00:13 by OCaml, 1287 阅读, 收藏,
摘要: 比如像这样的代码:PyObject *dic = PyDict_New();iret = PyDict_SetItem(dic, Py_BuildValue("s","xxxxxx"),Py_BuildValue("s"), "Hello xxxx");这样就会出现内存泄漏!正确的写法应该是这样:PyObject *dic = PyDict_New();PyObject *obj1 = Py_BuildValue("s","xxxxxx");PyObject *obj2 = 阅读全文

折腾gcc/g++链接时.o文件及库的顺序问题

2012-06-18 22:25 by OCaml, 14447 阅读, 收藏,
摘要: 折腾gcc/g++链接时.o文件及库的顺序问题Table of Contents1 gcc/g++链接时.o文件以及库的顺序问题1.1 写在前面1.2 几个名词1.3 技术铺垫1.3.1 编译动态库时的符号解析1.3.2 linux下查看一个可执行文件或动态库依赖哪些动态库的办法1.3.3 load 动态库过程1.4 gcc/g++链接时对库的顺序要求1.4.1 对于library的查找1.4.2 对于符号的查找1.5 –as-needed对链接动态库的影响1.5.1 链接主程序模块或者是静态库的时的‘undefined reference to: xxx’1.5.2 编译动态库(shared 阅读全文