Linux
文章平均质量分 77
景语
景语
展开
-
LINUX进程间通信(IPC)学习手记
linux间进程通信的方法在前一篇文章中已有详细介绍。http://blog.csdn.net/jmy5945hh/article/details/7350564本篇对六种IPC方法进行简单的代码测试。由于博主最近在研究父子进程间通信,因此实例代码都基于此。如果要应用于无亲缘关系进程间通信,稍加修改即可。篇幅有限,本文没有列出函数定义。相信你知道去哪里查询他们。1/管道(Pipe)原创 2012-03-22 22:15:03 · 3253 阅读 · 0 评论 -
步步LINUX C--进程间通信(二)信号
linux间进程通信的方法在前一篇文章中已有详细介绍。http://blog.csdn.net/jmy5945hh/article/details/7350564本篇详细介绍及代码测试第二种方式,即信号(Signal)。1 信号简介信号全称为软中断信号,主要用于进程控制。信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知。信号机制经过POSIX实时扩展后,原创 2012-05-15 21:05:51 · 2754 阅读 · 0 评论 -
步步LINUX C--基于流的I/O操作
前一篇步步linux C系列文章介绍了文件I/O操作这篇文章进一步介绍linux系统中的另一种输入输出方法。相对来说,流式I/O由于其简单以及方便性,应用范围更为广泛。概念与操作流程:流,类似于无保存不可见的文件。其中包含有特定结构体,结构体里面是管理该流的所有信息,如关联文件描述符,缓存长度,缓存中字符数,出错标志等。一个例子是stdin->_flags表示缓存区的类型。原创 2012-04-24 12:36:27 · 1399 阅读 · 0 评论 -
步步LINUX C--进程间通信(一)管道
linux间进程通信的方法在前一篇文章中已有详细介绍。http://blog.csdn.net/jmy5945hh/article/details/7350564本篇详细介绍及代码测试第一种方式,即管道(Pipe)及有名管道(named pipe)。1-1 管道简介也称匿名管道,其在系统中没有实名,是进程的一种资源,因此不可以在文件系统中以任何形式查看。生存周期从被原创 2012-05-02 16:51:44 · 2941 阅读 · 0 评论 -
Linux进程间通信方式简介
序linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“system V IPC”,通信进程局限在单个计算机内;后者则跳过了该限制,形成了基于套接口(socket转载 2012-03-13 21:09:08 · 19923 阅读 · 0 评论 -
inet_ntoa()返回整型参数,开玩笑?!
今天写socket程序,想在连接时打印出IP地址,于是查询得知可以使用inet_ntoa()函数函数相关说明如下: 函数声明:char *inet_ntoa (struct in_addr); 返回点分十进制的字符串在静态内存中的指针。于是在我的代码中加入:printf("%s join in!\n", inet_ntoa(clientSockadd原创 2012-02-21 17:46:59 · 2686 阅读 · 4 评论 -
最简单的Linux命令行Socket聊天程序源代码
只有今天贴出代码,明天看才知道自己有多么傻。单线程,一对一聊天,混搭风格编程,函数乱入不解释……/* * Chat on Linux Terminal--alpha * Worte by Jimmy's team@uestc * 2011-2-23 * * This is the sorce code of client * Some BUGS still原创 2012-02-23 14:13:47 · 6705 阅读 · 3 评论 -
一起围观.gvimrc藏哪里,解决GVIM初始配置!
今天改用GVIM,刚开始的时候对于字体啊颜色啊什么的都很不习惯,寻思求变作为最强大的编辑器,GVIM当然是支持自定义以及个性化的。再网上搜罗了一通,描述都十分简单修改字体与字号:在.gvimrc添加 set guifont=UbuntuMono\ 15设置缩进:在.gvimrc添加 set tabstop=4 set shiftwidth=4添加行号:在.gvimrc添加原创 2012-02-16 21:31:11 · 7303 阅读 · 1 评论 -
《UNIX环境高级编程》apue源代码Ubuntu下的编译
在编译书中例程时,常会报错,主要问题是以下两句代码#include"apue.h"这两个头文件并非Ubuntu系统自带的,是《UNIX环境高级编程》作者自己编写的用于定义及报错的头文件解决方法:1--下载APUE的代码(http://www.apuebook.com/src.tar.gz)并解压,笔者的目标地址为/home/jimmy/p2p/apue.2e原创 2012-02-16 22:16:24 · 3407 阅读 · 0 评论 -
GVIM中Scheme的设置与添加方法【附Scheme模板链接】
接触LINUX不久,之前图方便,UBUNTU下写程序时最常用的方式是在命令行下直接输入:vim helloworld.c然后开始敲代码进去,刚开始还感觉终端的模板挺绚丽的,后来用多了慢慢变得刺眼,而且终究还是该回到GVIM里面去1--命令行打开GVIM的问题在命令行方式下输入:gvim helloworld.c能够打开,但是发现一些warnings出现在终端原创 2012-02-16 21:55:10 · 1623 阅读 · 0 评论 -
步步LINUX C--文件I/O操作
熟悉linux系统的同学都知道,所有的设备在linux下都被当作文件来处理,因此了解文件的I/O操作是十分重要的。1/具体来说,有以下几种文件类型(控制台ls -l命令的第一列即为文件类型):符号类型符号类型s套接字文件d目录文件l链接文件b块设备文件c字符设备文件p管道文件原创 2012-04-16 19:35:03 · 3465 阅读 · 1 评论 -
深度理解Unix/linux系列中Select()模型[中英对照]
翻译文章,为了自己更好地理解。英文原文贴在http://www.doserver.net/post/linux-unix-select-model.php ,吉林大学胡章优博士的个人主页。THE WORLD OF SELECT()So just why am I so hyped on select()?One traditional way to write networ翻译 2012-02-19 20:37:38 · 2747 阅读 · 0 评论 -
拆解GCC命令的预处理-编译-汇编-链接4个阶段
在linux下使用gcc命令编译程序时,整个过程实际上在底层处理分为四个步骤--预处理/编译/汇编/连接下面通过gcc的不同命令参数来拆解这四个步骤。源代码:hello.c#include #define PP printfint main(int argc, char **argv) { int a = 5; PP("a = %d\n", a); retur原创 2012-04-07 15:40:59 · 3471 阅读 · 3 评论