export LD_LIBRARY_PATH 的使用 export LD_LIBRARY_PATH 的使用对linux不是很熟,之前只是听说过可以设置程序共享库位置也就是 使用 “export LD_LIBRARY_PATH”今天用了用,感觉还挺不错,也很常用。比如你编译了一个so 而这个so 同时又依赖其他第三方库。如果你想把你编译的so 提供给别人用的话,你不光提供你的so 同时也要提供你的so所依赖的其他第三方库。比如在别人上电脑上要使用你的s...
库与运行库 一、内存关于程序的运行,不得不提到内存方面的内容,那么首先就对一个进程虚拟地址空间的布局用一张图来看清楚 这里写图片描述 这张图基于32位Linux系统,即起始地址为0x08048000,可以看到顺序为只读段(代码段等)、读写段(数据段、bss段等)、堆(向上即高地址扩展)、用于堆扩展的未使用空间、动态库的映射位置(0x40000000开始)、之后就是栈(向下即低地址扩展)以及用于栈扩展的未使用空
动态链接及其部分实现细节 版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]一、动态链接的好处前面说了静态链接的流程,提到了静态链接与动态链接的不同之处以及各自的优势:静态链接的优势在于其优秀的可移植性,但是相对应的其所占空间大小也很大,且还有在对程序的更新、维护方面也有着问题。 动态链接则消除了这方面的问题,即使得空间不再浪费,更新一个程序也变得不
linux下C编程free()时出现飘忽诡异的段错误(核心已转储)问题 先说一下问题现场。代码如下[cpp] view plain copyfree(volthisframe->Tops); free(volthisframe->Bots); printf("what"); free(volthisframe->SCTops); free(volthisframe->SCBots);
C语言中指针和自增运算符结合时的运算顺序问题 查看原文章,请访问:http://blog.csdn.net/xingjiarong在C语言中,当指针运算符和++或者–结合时很容易分不清运算顺序,在这里总结一下,下面一共分析6中组合: * p++,(* p)++,* (p++),++* p,++( * p), * (++p)。先看段代码以及输出:#includeint main(){ int a[3]={1,3,
fopen与open的区别 fopen与open的区别 open和fopen的区别:1.缓冲文件系统缓冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”, 装满后再从内存“缓冲区”依此读入接收的变量。执行写文件的操作时,先将数据写入内存“缓冲区”,待内存“缓冲区”装满后再写入文件。由此可以看出,内存 “缓冲区”的大小,影响着实
关于typedef的用法总结 在C还是C++代码中,typedef都使用的很多,在C代码中尤其是多。typedef与#define有些相似,其实是不同的,特别是在一些复杂的用法上,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,加上自己的一个分析。基本定义:typedef为C语言的关键字,作用是为一种数据类型定义一
linux下动态链接库(.so)的显式调用和隐式调用 进入主题前,先看看两点预备知识。一、显式调用和隐式调用的区别 我们知道,动态库相比静态库的区别是:静态库是编译时就加载到可执行文件中的,而动态库是在程序运行时完成加载的,所以使用动态库的程序的体积要比使用静态库程序的体积小,并且使用动态库的程序在运行时必须依赖所使用的动态库文件(.so文件),而使用静态库的程序一旦编译好,就不再需要依赖的静态库文件了(.a文件)。
动态库的调用方法 (1)dlopen()第一个参数:指定共享库的名称,将会在下面位置查找指定的共享库.-环境变量LD_LIBRARY_PATH列出的用分号间隔的所有目录.-文件/etc/ld.so.cache中找到的库的列表,用ldconfig维护.-目录usr/lib.-目录/lib.-当前目录.第二个参数:指定如何打开共享库。-RTLD_NOW:将共享库中的所有函数加载到内存
GCC 参数详解 简介gcc and g++现在是gnu中最主要和最流行的c & c++编译器 .gcc/g++在执行编译工作的时候,总共需要以下几步:1.预处理,生成.i的文件[预处理器cpp]2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]4.连接目标代码,生成可执行程序[链接器ld]GCC能够处理的后
GCC选项 –I,-l,-L GCC选项 –I,-l,-L-I:指定第一个寻找头文件的目录-L:指定第一个寻找库文件的目录-l:表示在库文件目录中寻找指定的动态库文件例:gcc –o hello hello.c –I /home/hello/include –L /home/hello/lib –lworld/home/hello/include 作为第一个头文件的寻找目录。头文件寻找顺序:/hom
编译和使用APUE的源码 APUE源码的下载:http://www.apuebook.com/src.tar.gz1.编译源码假设源码解压到/home/crazyboy/tmp/apue.2e.src目录下.首先修改与自己系统对应的Make.defines.*文件,我的是Linux系统,就修改Make.defines.linux文件,将里面的WKDIR修改成源码所在的目录,即这一行改成"WKDIR=
linux进程间通信的几种机制的比较及适用场合 源地址:http://blog.csdn.net/f_x_p0324/article/details/6878081socket1.# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进
SD/MMC 卡读写模块---SD/MMC 卡的外部物理接口 转载地址:http://www.8951.com/book/jiao1n21.htmSD/MMC 卡是一种大容量(最大可达 4GB)、性价比高、体积小、访问接口简单的存储卡。SD/MMC 卡大量应用于数码相机、MP3 机、手机、大容量存储设备,作为这些便携式设备的存储载体,它还具有低功耗、非易失性、保存数据无需消耗能量等特点。SD 卡接口向下兼容 MMC(MutliMediaCard
How to Use MMC/SDC——翻译 How to Use MMC/SDC——翻译 (2010-02-08 16:26:03)转载▼翻译原文参照 http://elm-chan.org/docs/mmc/mmc_e.html 数字安全记忆卡(Secure Digital Memory Card)(以下简称SDC)实际上是用于移动设备的标准记忆卡。SDC向下兼容多媒体卡(Multi Medi
dd命令的解释 一、dd命令的解释。dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。注意:指定数字的地方若以下列字符结尾则乘以相应的数字:b=512;c=1;k=1024;w=2参数:1. if=文件名:输入文件名,缺省为标准输入。即指定源文件。2. of=文件名:输出文件名,缺省为标准输出。即指定目的文件。3. ibs=bytes:一次读入bytes个字节,即指定一个块大
DD使用 Linux-dd命令详解Linux-dd命令详解 dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。名称: dd 使用权限: 所有使用者dd 这个指令在 manual 里的定义是 convert and copy a file 使用方式: dd [option] 如
LVDS接口详解 1.LVDS输出接口概述 液晶显示器驱动板输出的数字信号中,除了包括RGB数据信号外,还包括行同步、场同步、像素时钟等信号,其中像素时钟信号的最高频率可超过28MHz。采用TTL接口,数据传输速率不高,传输距离较短,且抗电磁干扰(EMI)能力也比较差,会对RGB数据造成一定的影响;另外,TTL多路数据信号采用排线的方式来传送,整个排线数量达几十路,不但连接不便,而且不适合超薄化的趋势。采