-
unix环境高级编程
unix环境高级编程
最近更新文章
7.2参数传递
7.2.1非引用形参
普通的非引用类型的参数通过复制对应的实参实现初始化。
当用实参副本初始化形参时,函数并没有访问调用所传递的实参本身,因此不会修改实参的值。
1指针形参
函数的形参可以是指针,此时将复制实参指针。与其他非引用类型的形参一样,该类形参的任何改变也仅作用于局部副本。
如果函数将新指针赋给形参,主调函 ...
有1077人浏览
2014-01-07 18:07
1 数组
显式初始化数组
int ia[3] = {1,2,3};
如果没有显式提供元素初值,则数组元素会像普通变量一样初始化
a)如果函数体外定义的内置数组,其元素均初始化为0
b)在函数体内定义的内置数组,其元素无初始化
不允许数组直接复制和赋值
数组操作
a)数组下标类型是size_t
2 指针
指针概念:指针用于指向对象。与迭代器一样,指针提 ...
有807人浏览
2013-12-31 10:48
c 标准库定义了高级的抽象数据类型(abstract data type)
二种最重要的标准库类型string vector
1、命令空间的using声明
using声明可以在不需要加前缀namespace_name::的情况下访问命令空间中的名字
using namespace::name
使用了using声明,我们就可以直接引用名字,而不需要再引用该名字的命令空间 ...
有770人浏览
2013-12-27 16:04
一、工具的使用
1、学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑具,不光要学会用它们编辑源码,还要学会用它们进行查找、定位、替换等。新手的话推荐使用vim,这也是我目前使用的文本编辑器。
2、学会makefile文件的编写规则,并结合使用工具aclocal、autoconf和automake生成makefile文件。
3、掌握gcc和gdb的基本用 ...
有1228人浏览
2013-12-13 08:55
1、socket函数
#include /* see notes */
#include
int socket(int domain, int type, int protocol);
domain参数指明协议族,该参数也往往被称为协议域 ...
有1164人浏览
2013-12-02 10:53
1、套接字地址结构
ipv4套接字地址结构
struct in_addr
struct sockaddr_in
2、通用套接字地址结构
有752人浏览
2013-12-02 09:33
1、总图
udp是一个简单的、不可靠的数据报协议,而tcp是一个复杂、可靠的字节流协议
tcp的某些特性一旦理解,就很容易编写健壮的客户和服务器� ...
有1073人浏览
2013-12-02 09:30
排名不分先后:
1. c语言:
高质量程序设计指南
c语言接口与实现
c语言解惑
c专家编程
c陷阱与缺陷
c语言参考手册
2. linux应用 ...
有1405人浏览
2013-11-22 16:34
《unix系统编程》第三章 笔记
1、进程标识
unix用惟一的被称为进程id的整数值来标识进程。
每个进程还有一个父进程id,这个父进程id最� ...
有1018人浏览
2013-11-22 16:06
.phony:clean
cc=gcc
cflags=-wall -g
bin=miniftpd
objs=main.o sysutil.o session.o ftpproto.o privparent.o str.o tunable.o parseconf.o
libs=-lcrypt
$(bin):$(objs)
$(cc) $(cflags) $^ -o $@ ...
有761人浏览
2013-11-22 16:05
1、设备就像文件
对unix来说,声卡、终端、鼠标和磁盘文件是同一种对象。在unix系统中,每个设备都被当做一个文件。每个设备都有一个文件名、一个i-节点号、一个文件所有者、一个权限位的集合和最近修改时间。文件有关的所有内容都将运用于终端和其他的设备。
2、设备具有文件名
每个加载到unix机器的设备(终端、打印机、鼠标、磁盘)都通过文件名表示。表示设备的文件名存放在 ...
有1639人浏览
2013-11-22 16:02
1、非阻塞io
系统调用分成“低速”系统调用和其他系统调用。低速系统调用是可能会使进程永远阻塞的一类系统调用
1)如果某些文件类型(管道、终端设备、网络设备)的数据不存在,则读操作可能会使调用者永远阻塞
2)如果数据不能立即被上述同样类型的文件接受,则写操作也会使调用者永远阻塞。
3)在某种条件发生之前,打开某些类型的文件会被阻塞
4)对已经加上强 ...
有1036人浏览
2013-11-19 19:36
1 守护进程
守护进程也称精灵进程(daemon)是生存期较长的一种进程。它们常常在系统自举时启动,仅在系统关闭时才终止。
因为没的控制终端,所以它们是在后台运行的。
2、守护进程特征
父进程id为0的各进程通用是内核进程,它们作为系统自举过程中的一部分启动
内核进程是特殊的,通用存在于系统的整个生命周期。它们以超级用户特权运行,无控制终端,无命令 ...
有869人浏览
2013-11-19 16:04
信号是软件中断,信号提供了一种处理异步事件的方法。
1、信号概念
每个信号都有一个名字,这些名字都以三个字符sig开头。
sigabrt是夭折信号,当进程调用abort函数时产生这种信号
sigalrm是闹钟信号,当由alarm函数设置的计时器超时后产生此信号。
在头中,这些信号都被定义为正整数(信号编号).
...
有953人浏览
2013-11-14 09:01
1、进程组
#include
pid_t getpgrp(void); 返回值:调用进程的进程组id
每个进程组都可以有一个组长进程。组长进程标识是,其进程组id等于其进程id
组长进程可以创建一个进程组,创建该组中的进程,然后终止。只要在某个进程组中有一个进程存在,则该进程组就存在,这与进程 ...
有1146人浏览
2013-11-12 09:33
1、进程标识符
每个进程都有一个非负整型表示的唯一进程id。
id为0的进程通常是调度进程,常常被称为交换进程(swapper)。
id为1通常是init进程,在自举过程结束时由内核调用。该进程文件在/etc/init
#include
gid_t getegid(void); 获取有效用户id
u ...
有931人浏览
2013-11-06 17:05
unix环境高级编程
作者: w.richard stevens / stephen a.rago 出版社:
有916人浏览
2013-10-31 14:22
1、进程终止
a)进程终止的8种方式
从main返回
调用exit
调用_exit或_exit
最后一个线程从其启动进程返回
最后一个线程调用pthread_exit
调用abort
接到一个信号并终止
最后一个线程对取消请求做出响应
b)exit函数
_exit和_exit立即进 ...
有800人浏览
2013-10-30 15:16
1、fwide
设置流的定向
#include
#include
int fwide(file *fp,int mode);
mode参数值为负,fwide试图使指定的流是字节
mode参数值为正,fwide将试图使指定的流是宽定向
mode参数值为0,fwide ...
有907人浏览
2013-10-29 13:01
1、stat fstat lstat
#include
int stat(const char * restrict pathname,struct stat *restrict buf);
int fstat(int filedes,struct stat *buf);
int lstat(const cha ...
有841人浏览
2013-10-29 10:55
« 上一页 1
- 专栏创建者:
- 创建时间:2013-11-14 18:20:35
- 专栏文章数:21篇
- 专栏被浏览:21091 次
本专栏热门文章
最新评论
你的这些书我感觉我一本都买不起,我买书一般都是20块以内的
zhangzl4321 评论了
zhangzl4321 评论了
好全面啊,世界一流程序员的水准
zhangzl4321 评论了
zhangzl4321 评论了