Unix中库的使用】的更多相关文章

库有点像java中的jar包,但是使用起来要比jar包要麻烦一点. 库分为静态编程库和动态链接库两种. 库一旦设计出来就需要被可执行程序链接和调用. 可执行程序在编译时直接载入静态编程库,在运行时直接执行库函数代码. 可执行程序在编译时并不载入动态链接库,在运行时可执行程序将自动查找并调入动态链接库函数代码执行,执行完毕后将释放该库函数代码.…
使用 ACE 库框架在 UNIX 中开发高性能并发应用来源:developerWorks 中国 作者:Arpan Sen ACE 开放源码工具包可以帮助开发人员创建健壮的可移植多线程应用程序.本文讨论创建使用 ACE 线程的应用程序的一些方法.Adaptive Communication Environment (ACE) 是一个高性能.开放源码.面向对象的框架和 C++ 类库,它有助于简化网络应用程序的开发.ACE 工具包包括一个操作系统层和一个封装网络 API 的 C++ 外观(facade…
今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号.由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号.看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类的版本控制软件之后,由于之前版本的文件并不存在这个符号,所以开发成员在使用diff工具来查看改动的内…
在linux/unix中查找大文件,如查找大于100M文件的位置路径,查找等于10M文件的位置路径等等,下面就介绍几个实现快速查找的命令: 1. 查找指定目录下所有大于100M的文件,命令为 find path -type f -size +100M  (path 为自己指定的目录,如当前目录./): 2. 查找指定目录下等于10M的文件,命令为 find path -type f -size 10M (path 为自己指定的目录,如当前目录./): 3. 查找指定目录下小于1M的文件,命令为…
本文所指的I/O均是网络I/O. 一. POSIX对同步.异步I/O的定义 我们先大致看看POSIX对同步.异步的定义,不用细究,重点看我标红的部分就行. 同步I/O会导致请求进程阻塞,直到I/O操作完成: 异步I/O不会导致请求进程阻塞. 二. 同步.异步,阻塞.非阻塞 个人理解同步与否与阻塞与否只是看待问题的不同维度,不用过于追究同步和阻塞有什么区别.以及异步和非阻塞有什么区别. 我用小明购买火车票的例子大致先讲述下同步.异步,阻塞.非阻塞这几种情况的组合. 同步阻塞,小明去火车站买票.首先…
UNIX 操作系统的设计.用户界面.文化和演变都是建立在它的一套统一的想法和概念上.其中最重要的一点可能是“一切皆文件”,而这个概念被认为是 UNIX 的灵魂之一. 这一关键设计原则提供了一个统一的范式,用于访问各种输入输出资源:文档.目录.磁盘驱动器.CD-ROM.调制解调器.键盘.打印机.显示器.终端,甚至是一些进程间通信和网络通信.所有这些资源拥有一个通用的抽象,UNIX 之父将其称为“文件”.因为每个“文件”都通过相同的 API 暴露出来,所以你可以使用同一组基本命令来读取和写入磁盘.键…
在unix中可用的文件I/O函数包含打开文件,读文件,写文件等. Unix系统中的大多数文件I/O须要用到5个函数:open,read,write,lseek,close. 这里要说明的是read,write的文件I/O都是不带缓冲的,所谓的不带缓冲意思是它们都是走的内核中的一个系统调用. 对于内核而言,全部打开的文件都是通过文件描写叙述符进行引用,文件描写叙述符是一个非负整数.当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描写叙述符.当读或写一个文件时.使用open,create…
原文地址:In UNIX Everything is a File 原文作者:ph7spot.com 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m… 译者:pmwangyang 为了有计划的发展架构设计.界面.文化和开发路线,UNIX 系统明确了一系列统一的概念和创想.这几点里面最重要的一点莫过于一句咒语:「一切皆文件」,被广泛认为是 UNIX 的定义之一. 最主要的设计原则是提供一个访问大范围输入/输出资源(包括文件.文件夹.硬盘.CD-ROM.调制解调器…
编译Linux下的库是一件痛苦的事情,这里主要阐述glib和wpa_supplicant库的编译,因各自的依赖关系,另外一些库要事先编译.glib依赖libffi和zlib,而wpa_supplicant依赖dbus和openssl. 总结下交叉编译几个常见的逻辑: 1. 指定CC为交叉编译器 2. 指定--prefix,如果不指定,会将宿主机PC上相应的库给覆盖了,如果是系统关键的库文件,那就会造成系统启动失败.解决办法只有一个一个找到被覆盖的文件,再从一台好的PC机上拷贝回来.注意这里要找到…
Unix的文件类型信息包含在stat结构的st_mode成员中可以用宏确定文件类型: 普通文件(S_ISREG()):包含某种形式数据的常用文件类型 目录文件(S_ISDIR()):这种文件包含其他文件的名字以及指向与这些文件有关信息的指针.只有内核可以写目录文件,对其有读权限的进程可以读文件 块特殊文件(S_ISBLK()):提供对设备带缓冲的访问,每次访问以固定长度为单位进行.(块设备在内核中的表现类型?) 字符特殊文件(S_ISCHR()):提供对设备不带缓冲的方位,访问长度可变(字符设备…