• linux内核数据结构之链表

    日期:

    1、前言 最近写代码需用到链表结构,正好公共库有关于链表的。第一眼看时,觉得有点新鲜,和我之前见到的链表结构不一样,只有前驱和后继指针,而没有数据域。后来看代码注释发现该代码来自linux内核,在linux源代码下include/Lish.h下。这个链表具备通用性...

  • linux获取系统启动时间

    日期:

    1、前言 时间对操作系统来说非常重要,从内核级到应用层,时间的表达方式及精度各部相同。linux内核里面用一个名为jiffes的常量来计算时间戳。应用层有time、getdaytime等函数。今天需要在应用程序获取系统的启动时间,百度了一下,通过sysinfo中的uptime可...

  • Linux动态链接库的使用

    日期:

    1、前言 在实际开发过程中,各个模块之间会涉及到一些通用的功能,比如读写文件,查找、排序。为了减少代码的冗余,提高代码的质量,可以将这些通用的部分提取出来,做出公共的模块库。通过动态链接库可以实现多个模块之间共享公共的函数。之前看《程序员的...

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

    日期:

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

  • linux 系统调用sysconf【总结】

    日期:

    1、前言 当前计算机都是多核的,linux2.6提供了进程绑定cpu功能,将进程指定到某个core上执行,方便管理进程。linux提供了sysconf系统调用可以获取系统的cpu个数和可用的cpu个数。 2、sysconf 函数 man一下sysconf,解释这个函数用来获取系统执行的配置信息...

  • Unix/Linux软件安装

    日期:

    Unix/Linux 软件安装首先我们明白,在Unix like的机器上,一套软件并不仅仅有一个程序,而是一堆程序代码文件。例如main.c,haha.c,sin_value.c这三个源代码文件。 1.程序源码 1.1用gcc等编译工具手动编译 #什么是gcc工具?GNU的gcc工具是很通用的C语言编译器...

  • LNMP nginx1.4.6+php5.5.11+mysql5.6.17+mecache+opcache编译安

    日期:

    要用到的软件: libiconv-1.13.tar.gz libmcrypt-2.5.8.tar.gz mcrypt-2.6.8.tar.gz mhash-0.9.9.9.tar.gz memcache-2.2.5.tgz PDO_MYSQL-1.0.2.tgz imagick-3.1.2.tgz pcre-8.21.tar.gz mysql-5.6.17.tar.gz ImageMagick.tar.gz php-5.4.21.tar.gz nginx-1.4...

  • linux下通过命令启动多个终端执行相应的命令和程序

    日期:

    在一些情况下,往往需要同时启动多个终端并让终端执行自动执行相应的命令,进而达到提高操作效率的目的。在linux下gnome-terminal启动终端命令, gnome-terminal -x 后跟执行的命令,bash是linux启动子shell的命令,bash -c 所要执行的命令串,通过嵌套gnome-...

  • linux文件的隐藏属性:chattr

    日期:

    1. 文件的隐藏属性 linux除了9个权限外,还有些隐藏属性, 使用chattr命令来设置。用法: $ chattr +-=[ASacDdIijsTtu]+ : 增加一个特殊参数 - : 删除一个特殊参数 =: 设置后面的参数为文件仅有的参数 A : 设置A参数时,文件或目录每次被访问不会修改atime。...

  • linux硬盘分区格式化及挂载

    日期:

    linux硬盘分区格式化及挂载 1、硬盘的接口类型 硬盘的接口一般分为两种,一种是IDE并行接口,一种是SATA串行接口, 在linux上面IDE接口的硬盘被识别为/dev/hd[a-z]这样的设备,其中hdc表示光驱设备,这是因为主板上面一般有两个IDE插槽,一个IDE插槽可以接两...