易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : linux

Linux环境进程间通信(一)


       在本系列序中作者概述了 linux 进程间通信的几种主要手段。其中管道和有名管道是最早的进程间通信机制之一,管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。 认清管道和有名管道的读写规则是在程序中应用它们的关键,本文在详细讨论了管道和有名管道的通信机制的基础上,用实例对其读写规则进行了程序验证,这样做有利于增强读者对读写规则的感性认识,同时也提供了应用范例。
1、 管道概述及相关API应用
1.1 管道相关的关键概念
管道是Linux支持的最初Unix IPC形式之一,具有以下特点:
管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;
只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);
单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在与内存中。
数据的读出和写入:一个进程向管道中写的内容被管道另一端的进程读出。写入的内容每次都添加在管道缓冲区的末尾, ......

linux ioctl解释

我这里说的ioctl函数是在驱动程序里的,因为我不知道还有没有别的场合用到了ioctl,
      所以就规定了我们讨论的范围。为什么要写篇文章呢,是因为我前一阵子被ioctl给搞混
      了,这几天才弄明白它,于是在这里清理一下头脑。
     
      一、 什么是ioctl。
      ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就
      是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的调用方法
      如下:
      int ioctl(int fd, int cmd, …);
      其中fd就是用户程序打开设备时使用open函数返回的文件标示符,cmd就是用户程序对设
      备的控制命令,至于后面的省略号,那是一些补充参数,一般最多一个,有或没有是和
      cmd的意义相关的。
      ioctl函数是 ......

linux驱动学习

一、ioctl
大部分设备除了读写能力,还可进行超出简单的数据传输之外的操作,所以设备驱动也必须具备进行各种硬件控制操作的能力. 这些操作常常通过 ioctl 方法来支持,它有和用户空间版本不同的原型:
int (*ioctl) (struct inode *inode, struct file *filp,
              unsigned int cmd, unsigned long arg);
需要注意的是:不管可选的参数arg是否由用户给定为一个整数或一个指针,它都以一个unsigned long的形式传递。如果调用程序不传递arg参数, 被驱动收到的 arg 值是未定义的。因为在arg参数上的类型检查被关闭了,所以若一个非法参数传递给 ioctl,编译器是无法报警的,且任何关联的错误难以查找.
选择ioctl命令
为了防止向错误的设备使用正确的命令,命令号应该在系统范围内唯一。为方便程序员创建唯一的 ioctl 命令代号, 每个命令号被划分为多个位字段。要按 Linux 内核的约定方法为驱动选择 ioctl 的命令号, 应该首先看看 include/asm/ioctl.h 和 Documentation/ioctl-number.txt。 要使用的位字段符号定义在 <linux/ioctl.h> :
type(幻数):8 位宽(_IOC_TYPEBITS),参考i ......

Linux .o a .so .la .lo的区别及libtool相关介绍

原文地址:http://www.eetop.cn/blog/html/40/202640-8862.html
o: 编译的目标文件
a: 静态库,其实就是把若干o文件打了个包
so: 动态链接库(共享库)
lo: 使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息
la: 使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和静态库的相关信息
1 libtool的工作原理
libtool
是一个通用库支持脚本,将使用动态库的复杂性隐藏在统一、可移植的接口中;使用libtool的标准方法,可以在不同平台上创建并调用动态库。可以认为libtool是gcc的一个抽象,其包装了gcc(或者其他的编译器),用户无需知道细节,只要告诉libtool需要编译哪些库即可,libtool将处理库的依赖等细节。libtool只与后缀名为lo、la为的libtool文件打交道。
libtool主要的一个作用是在编译大型软件的过程中解决了库的依赖问题;将繁重的库依赖关系的维护工作承担下来,从而释放了程序员的人力资源。libtool提供统一的接口,隐藏了不同平台间库的名称的差异等细节,生成一个抽象的后缀名为la高层库libxx.la(其实是个文本文件),并将该库对其它库的依赖关系,都写在该la的文件中。该文件中的dependency_libs记录该库依赖的所有库(其中 ......

[linux] vim编码

Vim和所有的流行文本编辑器一样,可以很好的编辑各种字符编码的文件,这当然包括 UCS-2、UTF-8 等流行的 Unicode 编码方式。而且和很多来自 Linux 世界的软件一样,这需要你自己动手设置。
Vim 有四个跟字符编码方式有关的选项,encoding 、fileencoding 、fileencodings 、termencoding (这些选项可能的取值请参考 Vim 在线帮助 :help encoding-names),它们的意义如下:
1、 encoding : Vim 内部使用的字符编码方式,包括 Vim 的 buffer (缓冲区)、菜单文本、消息文本等。用户手册上建议只在 .vimrc 中改变它的值,事实上似乎也只有在 .vimrc 中改变它的值才有意义。
2、 fileencoding : Vim 中当前编辑的文件的字符编码方式,Vim 保存文件时也会将文件保存为这种字符编码方式 (不管是否新文件都如此)。
3、 fileencodings : Vim 启动时会按照它所列出的字符编码方式逐一探测即将打开的文件的字符编码方式,并且将 fileencoding 设置为最终探测到的字符编码方式。因此最好将 Unicode 编码方式放到这个列表的最前面,将拉丁语系编码方式 latin1 放到最后面。
4、 termencoding : Vim 所工作的终端 (或者 Windows 的 Console 窗口) 的字符编码方式。这个选项在 Windows 下 ......

oracle 10g 在 RED HAT ENTERPRISE LINUX 5下的安装

ORACLE 10G在LINUX的安装:
先上来两张图:
DBA是努力的方向,ORACLE DBA包罗万象,连LINUX/UNIX都搞不定,还弄P个ORACLE啊.
两部分:
1.RED HAT ENTERPRISE LINUX 5的安装
  难点(对于现在的我来说):1.1YUM本地源的配置;网络有相关资料,不多说了.由于是本机使用,参考了FTP源后,我使用了FILE源;
                                    1.2四个有关BASH STARTUP FILE的文件(通过修改STARTUP FILE可以配置环境变量):/etc/profile;
                                         ~/.bash_profile;~/.profile;~/.bash_login;随版本不同而异;
 2.ORACLE 10G的安装:
  难点:2.1可以参考ORACLE 10G的DOCUMENTATION,但是有一点,ORACLE 10G表面上不支持REDHAT LINUX5, ......

oracle 10g 在 RED HAT ENTERPRISE LINUX 5下的安装

ORACLE 10G在LINUX的安装:
先上来两张图:
DBA是努力的方向,ORACLE DBA包罗万象,连LINUX/UNIX都搞不定,还弄P个ORACLE啊.
两部分:
1.RED HAT ENTERPRISE LINUX 5的安装
  难点(对于现在的我来说):1.1YUM本地源的配置;网络有相关资料,不多说了.由于是本机使用,参考了FTP源后,我使用了FILE源;
                                    1.2四个有关BASH STARTUP FILE的文件(通过修改STARTUP FILE可以配置环境变量):/etc/profile;
                                         ~/.bash_profile;~/.profile;~/.bash_login;随版本不同而异;
 2.ORACLE 10G的安装:
  难点:2.1可以参考ORACLE 10G的DOCUMENTATION,但是有一点,ORACLE 10G表面上不支持REDHAT LINUX5, ......
总记录数:5772; 总页数:962; 每页6 条; 首页 上一页 [719] [720] [721] [722] 723 [724] [725] [726] [727] [728]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号