2014年4月20日
摘要: gcc/g++ 命令的常用选项使用g++编译CPP文件如果用gcc编译C++源文件时,加以下选项:-lstdc++,否则使用了C++操作的文件编译会出错。假如在程序中用到new delete操作,而不加此选项进行编译会出现以下错误信息:zch07eha01:/home/mrbt48/cpp> gcc... 阅读全文
posted @ 2014-04-20 14:56 bitbit 阅读(6895) 评论(0) 推荐(0) 编辑
摘要: 1.共享库的对外接口函数的声明必须加上extern “C”。2.使用共享库对话接口函数生成的对象指针时在该对象未被释放之前不能关闭共享库句柄,否则会出现segmentation fault错误。以下是一个插件式设计的示例:1、主执行程序:main.cpp#include#include#includ... 阅读全文
posted @ 2014-04-20 14:26 bitbit 阅读(8563) 评论(0) 推荐(0) 编辑
摘要: library多线程file1.gdb (运行程序名称)例如gdb cbenchmark2.设置运行参数set args -c 1 -n 1 -F ./libaliww.so -l 13.如果是多线程程序set follow-fork-mode child4.设置断点,如果代码是动态链接库.so中的... 阅读全文
posted @ 2014-04-20 14:23 bitbit 阅读(2856) 评论(0) 推荐(0) 编辑
摘要: 一顺便说说了哦 通常情况下,对函数库的链接是放在编译时期(compile time)完成的.所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(executable file).程序在运行时,与函数库再无瓜葛,因为所有需要的函数已拷贝到自己门下。所... 阅读全文
posted @ 2014-04-20 14:21 bitbit 阅读(2392) 评论(0) 推荐(0) 编辑
摘要: 本定义 功能:打开一个动态链接库 包含头文件: #include 函数定义: void * dlopen( const char * pathname, int mode ); 函数描述: 在dlopen的()函数以指定模式打开指定的动态连接库文件,并返回一个句柄给调用进... 阅读全文
posted @ 2014-04-20 14:19 bitbit 阅读(1097) 评论(0) 推荐(0) 编辑
摘要: windows 环境的vc的话,可以方便的指定__declspec(dllexport) 关键字来控制是否把dll中的函数导出。我也来测试一下linux下面是如何做的:先看gcc 和ld的相关选项======================================gcc 选项 -shared... 阅读全文
posted @ 2014-04-20 14:17 bitbit 阅读(10414) 评论(0) 推荐(0) 编辑
摘要: 本文参考:http://blog.163.com/phys_atom/blog/static/1676445532012229814992/如果直接使用GUN GCC官方的源码来安装是不成功的,因为源码需要编译,编译要使用GCC,进入死循环,所以需要先安装GCC的RPM包,这文件在RHEL系统光盘里... 阅读全文
posted @ 2014-04-20 11:16 bitbit 阅读(1832) 评论(0) 推荐(0) 编辑
摘要: 这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。./configure 是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。make 是用来编译的,它从Makefile中读取指令,然后编译。make ... 阅读全文
posted @ 2014-04-20 11:09 bitbit 阅读(4475) 评论(0) 推荐(0) 编辑