自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李文通

C/C++ linux

转载 Linux的nm查看动态和静态库中的符号

功能 列出.o .a .so中的符号信息,包括诸如符号的值,符号类型及符号名称等。所谓符号,通常指定义出的函数,全局变量等等。 使用 nm [option(s)] [file(s)] 有用的options: -A 在每个符号信息的前面打印所在对象文件名称;...

2016-07-10 20:58:13

阅读数 12135

评论数 0

转载 GDB动态库搜索路径

笔记: 当GDB无法显示so动态库的信息或者显示信息有误时,通常是由于库搜索路径错误导致的,可使用set sysroot、set solib-absolute-prefix、set solib-search-path来指定库搜索路径。 1. set sysroot 与 set soli...

2016-07-10 11:15:52

阅读数 1219

评论数 0

转载 solib-absolute-prefix 和solib-search-path的区别

solib-absolute-prefix 和solib-search-path是 gdb比较常用的选项,用来设置符号文件的位置。 那么,它们有什么区别呢? solib-absolute-prefix设置的是被搜索文件路径的前缀,solib-search-path设置的是被搜索文件的路...

2016-07-10 10:58:31

阅读数 306

评论数 0

转载 Linux系统调用--getrlimit()与setrlimit()函数详解

功能描述: 获取或设定资源使用限制。每种资源都有相关的软硬限制,软限制是内核强加给相应资源的限制值,硬限制是软限制的最大值。非授权调用进程只可以将其软限制指定为0~硬限制范围中的某个值,同时能不可逆转地降低其硬限制。授权进程可以任意改变其软硬限制。RLIM_INFINITY的值表示不对资源限制。...

2016-07-10 10:49:59

阅读数 194

评论数 0

转载 linux比较两个文件是否一样(linux命令md5sum使用方法)

1、简介 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5 全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产...

2016-07-07 21:37:40

阅读数 7873

评论数 0

转载 采用dlopen、dlsym、dlclose加载动态链接库【总结】

1、前言   为了使程序方便扩展,具备通用性,可以采用插件形式。采用异步事件驱动模型,保证主程序逻辑不变,将各个业务已动态链接库的形式加载进来,这就是所谓的插件。linux提供了加载和处理动态链接库的系统调用,非常方便。本文先从使用上进行总结,涉及到基本的操作方法,关于动态链接库的本质及如何...

2016-07-07 21:30:49

阅读数 148

评论数 0

转载 Linux下的库操作工具-nm、ar、ldd、ldconfig和ld.so

1、nm [options] file    列出file中的所有符号     [option]      -c   将符号转化为用户级的名字      -s   当用于.a文件即静态库时,输出把符号名映射到定义该符号的模块或成员名的索引      -u   显示在file外定义的符号或没有定义的...

2016-07-07 21:24:45

阅读数 251

评论数 0

转载 MPEG2相关原理概述

MPEG是运动图像专家组(Moving Picture Experts Group)的简称,其实质上的名称为国际标准化组织(ISO)和国际电工委员会(IEC)联合技术委员会(JTC)1的第29 分委员会的第11工作组,即ISO/IEC JTC1/SC29/WG11,成立于1988年。其任务是制定世...

2016-06-10 21:40:39

阅读数 170

评论数 0

转载 C++虚基类的实现机制:笔记

在《深度探索C++对象模型》里,有一个问题,也是去公司面试的时候那些技术人员常问的问题:在C++中,obj是一个类的对象,p是指向obj的指针,该类里面有个数据成员mem,请问obj.mem和p->mem在实现和效率上有什么不同。 答案是:只有一种情况下才有重大差异,该情况必须满足...

2016-05-19 23:05:47

阅读数 157

评论数 0

转载 C++虚基类的作用

虚基类的作用       当一个基类被声明为虚基类后,即使它成为了多继承链路上的公共基类,最后的派生类中也只有它的一个备份。例如: class CBase { }; class CDerive1:virtual public CBase{ }; class CDerive2:virtua...

2016-05-19 22:04:44

阅读数 143

评论数 0

转载 编译生成静态库文件

Lunix下编译静态库文件: .o后缀文件:编译生成的中间代码文件; .a后缀文件:静态库文件,编译的时候会合到可执行程序中,文件比较大; .so后缀文件:动态库文件,只是一个指向,不会合到可执行程序中,当要调用函数库的时候才使用;   用一个简单的例子阐述下在lunix环境下生成静态库...

2016-05-16 21:54:18

阅读数 195

评论数 0

转载 编译生成动态库文件(方式二)

Lunix下生成动态库文件:          之前已经介绍了依靠makefile文件实现可执行文件,下面说下在源文件中指定加载的动态库文件;   一.   源码文件: datetime.h:    #ifndef __DATETIME_H  #defin...

2016-05-16 21:52:28

阅读数 110

评论数 0

转载 编译生成动态库文件

Lunix下生成动态库文件:          之前已经介绍了.o,.a,.so文件类型的含义,.so后缀的文件是动态库文件。         下面介绍在编译过程中链接到动态库文件的方法: 一.   源码文件: so_test.h: void test_a(); ...

2016-05-16 21:46:15

阅读数 189

评论数 0

转载 vector容器与iterator迭代器

vector容器 vector是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。和string对象一样,标准库负责管理存储元素的相关内存。我们把vector称为容器,是因为它可以包含其他对象。一个容器中的所有对象都必须是同一种类型的。 使用vector之前,必须包含相应的头文件。 ...

2016-05-05 07:51:44

阅读数 250

评论数 0

转载 C++模板

模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。   模板是一种对类型进行参数化的工具;   通常有两种形式:函数模板和类模板;   函数模板针对仅参数类型不同的函数;   类模...

2016-05-04 21:29:33

阅读数 100

评论数 0

转载 C++分离式编译模式

1.分离编译模式的定义 编辑 一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件连接起来形成单一的可执行文件的过程。[1]  2.分离编译模式的由来 编辑 分离编译模式是C/C++组织源代码和生成可执行文件的方式。在实际开...

2016-04-25 21:14:48

阅读数 488

评论数 0

转载 C++ try catch 用法

一、简单的例子 首先通过一个简单的例子来熟悉C++ 的 try/catch/throw: 1    #include                                 //包含头文件 2    #include 3    double fuc(double x, do...

2016-04-25 20:48:36

阅读数 8529

评论数 0

原创 范围for语句

其形式是 for(declartion: expression) statement; 一个简单的实例如下: #include   #include  using namespace std; using std::string; int main() { string...

2016-04-11 07:15:29

阅读数 192

评论数 0

原创 String 相关的一些内容

因为某些历史的原因,也为了与C兼容,所以C++语言中的字符串字面值并不是标准库类型string的对象,切记,字符串字面值与string是不同类型。 处理string中的字符可以使用其中的cctype头文件中的定义的函数。

2016-04-11 07:14:23

阅读数 153

评论数 0

原创 nullptr介绍

#include   using namespace std;  int main() {   int *p1=nullptr; int *p2=NULL; cout     return 0;   }   nullptr是C++11 新保准,相当于空指针,地址为零,和NULL...

2016-03-31 23:06:34

阅读数 405

评论数 0

原创 变量定义域以及嵌套的作用域

#include   using namespace std;  int main() {   int i=10; {i++; int yy=0; } cout     return 0;   }   如上程序会出现yy未定义的错误,C++中变量的作用域以大括号相隔。 ...

2016-03-31 22:54:17

阅读数 206

评论数 0

转载 C++中extern关键字使用

chapter 1 . extern关键字的作用     extern是一个关键字,它告诉编译器存在着一个变量或者一个函数,如果在当前编译语句的前面中没有找到相应的变量或者函数,也会在当前文件的后面或者其它文件中定义,来看下面的例子。     [cpp] view p...

2016-03-30 22:41:26

阅读数 129

评论数 1

提示
确定要删除当前文章?
取消 删除