linux基础
文章平均质量分 94
青龙战
学,如逆水行舟,如滴水穿石,细微处才是真灼。
展开
-
gettimeofday 实现原理和优化
一、原理描述https://blog.csdn.net/lqxandroid2012/article/details/51487547二、问题描述Easydarwin中大量使用gettimeofday来获取系统时间,对系统性能造成了一定的影响。我们来做个测试:While(1){ Gettimeofday(&tv,NULL);}每秒执行次数为约30...转载 2019-04-01 14:02:38 · 3529 阅读 · 1 评论 -
栈溢出导致脏数据
最近遇到一个很奇怪的指针引用问题。局部指针指向一个全局互斥锁变量,通过一层封装引用后,互斥锁unlock的时候失败。原因类型以下的这种分析情况。记得之前看过一篇文章说,最好查的bug是语法错误,因为编译器会告诉你,最不好查的bug是栈溢出,因为啥,因为不仅编译器不会告诉你,连你自己有可能都找不到原因出在哪。经过了一段时间的摸索,算是基本搞清楚了栈溢出的原理,写下来以防日后出现问题无从下手。...转载 2019-03-30 11:09:16 · 1017 阅读 · 0 评论 -
pkg-config使用
1 pkg-config介绍pkg-config用来检索系统中安装库文件的信息。典型的是用作库的编译和连接。如在Makefile中: program: program.c cc program.c `pkg-config --cflags --libs gnomeui` pkg-config --list-all 可以列出所有可使用的包。pkg-c...原创 2018-08-23 15:36:03 · 1116 阅读 · 0 评论 -
Configure,Makefile.am, Makefile.in, Makefile
Configure,Makefile.am, Makefile.in, Makefile文件之间关系1.autoscan (autoconf): 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。 your source files --> [autoscan*] --> [config...原创 2018-07-13 09:05:11 · 255 阅读 · 0 评论 -
转: Linux动态链接库.so文件的命名及用途总结
我们在linux下开发项目,有时会对外提供动态库,像***.so.1.0.0这样子的文件,另外提供相应的头文件。用户拿到动态库和头文件说明,就可以使用动态库里的function。那随之而来的一个问题是,动态库的升级问题,我们的动态库更改了一个bug,升级了一个版本,那使用我们动态库的应用程序需要重新编译吗?运行时会产生异...转载 2018-06-12 10:15:41 · 2699 阅读 · 0 评论 -
转:~/.bash_profile、~/.bashrc、和~/.bash_logout的应用区别
为使Bash更好地为我们服务,我们需定制bash shell环境。~/.bash_profile、~/.bashrc、和~/.bash_logout1.上面这三个文件是bash shell的用户环境配置文件,位于用户的主目录下。其中.bash_profile是最重要的一个配置文件,它在用户每次登录系统时被读取,里面的所...转载 2018-05-28 11:06:16 · 2045 阅读 · 0 评论 -
转:SIGPIPE
SIGPIPE send或者write socket遭遇SIGPIPE信号 当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个...转载 2018-05-23 11:46:46 · 241 阅读 · 0 评论 -
bd_t gd_t 及board.c的分析
gd_t和bd_t是u-boot中两个重要的数据结构,在初始化操作很多都要靠这两个数据结构来保存或传递.分别定义在./include/asm/global_data.h和./include/asm/u_boot.h1.gd_t: global data数据结构定义,位于文件 include/asm-arm/global_data.h。其成员主要是一些全局的系转载 2018-01-10 21:16:02 · 897 阅读 · 0 评论 -
深入浅出:Linux设备驱动之字符设备驱动
一、linux系统将设备分为3类:字符设备、块设备、网络设备。使用驱动程序:字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED设备等。块设备:是指可以从设备的任意位置读取一定长度数据的设备。块设备包括硬盘、磁盘、U盘和SD卡等。每一个字符设备或块设转载 2017-11-25 20:33:34 · 168 阅读 · 0 评论 -
字节序总结
1.数据存储的字节序与位序 在各种计算机体系结构中,对于字节、字等的存储机制有所不同。对于同一个数 值,在不同的计算机体系中会以相反的顺序记录。例如,十六进制数值12345678H,在一 种计算机架构下存储为 12345678H,而在另一种计算机架构下会被存储为78563412H。这 就是按照不同的字节序进行存储的。所以所谓的字节序指的就是长度跨越多个字节的数据的存放形式。 2. Endi转载 2017-11-22 22:56:05 · 503 阅读 · 0 评论 -
u-boot启动代码之start_armboot分析(原创)
u-boot-1.1.3 这里主要对start_armboot函数执行流程进行分析首先是定义一个指针变量DECLARE_GLOBAL_DATA_PTR,这是一个宏定义,原型在u-boot-1.1.3\include\asm-arm\global_data.h文件中#define DECLARE_GLOBAL_DATA_PTR register vol转载 2017-12-09 22:37:18 · 451 阅读 · 0 评论