0
点赞
收藏
分享

微信扫一扫

unix环境高级编程


             unix环境高级编程笔记

准备工作

1.      安装 unix或Linux 这里安装的是linux(虚拟机安装)

虚拟机连接有三种方式:host only,桥接, nat,其中

a.      Hostonly:

vmnet1 ip :172.16.245.1 

vmware虚拟机网络设置:ip:172.16.245.100 gateway:172.16.245.1

b.      ridge:主机ip:10.70.54.31 设置虚拟机ip:10.70.54.22 ,netmash,broadcast,gateway,dns都与主机相同即可,实现虚拟机主机,互联网通信。

c.      和hostoly一样。

2.      在LINUX下安装apue

  在http://www.apuebook.com/下载src.tar.gz源代码的压缩包,

 解压在/usr/目录中,

修改目录中的linux.mk,WKDIR = 设置为你安装的目录

修改安装目录下的std/linux.mk 将所有的nawk 改为awk 可以使用这个命令:

%s/nawk/awk/g

  返回安装目录运行make

  将安装目录下的apue.h 和安装目录下的lib/error.c复制到/usr/include目录下。

3.      每次有err_开头的函数都要包含apuerror.h并放入/usr/include文件下,内容为:

 

准备工作

 

1.      安装 unix或Linux 这里安装的是linux(虚拟机安装)

 

虚拟机连接有三种方式:host only,桥接, nat,其中

 

a.      Hostonly:

 

vmnet1 ip :172.16.245.1 

 

vmware虚拟机网络设置:ip:172.16.245.100 gateway:172.16.245.1

 

b.      bridge:主机ip:10.70.54.31 设置虚拟机ip:10.70.54.22 ,netmash,broadcast,gateway,dns都与主机相同即可,实现虚拟机 主机 ,互联网通信。

 

c.      和hostoly一样配置,只不过选项不一样

 

这三种方式的连接的意义不一样,bridge相当于一个物理机器,虚拟网卡相当于在主机和虚拟机前加了个交换机,他们访问时互通的,hostonly方式相当于一个虚拟的网络依附于主机,主机和这个虚拟网络可以互通,但是虚拟网络和主机的别的网络部能互通,NAT则是虚拟网络可以访问别的网络,但是别的网络部能访问虚拟网络。

 

2.      在LINUX下安装apue

 

  在http://www.apuebook.com/下载src.tar.gz源代码的压缩包,

 

 解压在/usr/目录中,

 

修改目录中的linux.mk,WKDIR = 设置为你安装的目录

 

修改安装目录下的std/linux.mk 将所有的nawk 改为awk 可以使用这个命令:

 

%s/nawk/awk/g

 

  返回安装目录 运行make

 

  将 安装目录下的apue.h 和安装目录下的lib/error.c复制到/usr/include目录下。

 

3.      每次有err_开头的函数都要包含apuerror.h并放入/usr/include文件下,内容为:

 

#include <errno.h>      /* for definition of errno */
 
#include <stdarg.h>     /* ISO C variable aruments */
 
 
 
static void err_doit(int, int, const char *, va_list);
 
 
 
/*
 
 * Nonfatal error related to a system call.
 
 * Print a message and return.
 
 */
 
void
 
err_ret(const char *fmt, ...)
 
{
 
    va_list     ap;
 
 
 
    va_start(ap, fmt);
 
    err_doit(1, errno, fmt, ap);
 
    va_end(ap);
 
}
 
 
 
 
 
/*
 
 * Fatal error related to a system call.
 
 * Print a message and terminate.
 
 */
 
void
 
err_sys(const char *fmt, ...)
 
{

。。。

 

。。。

 

第一个例子

 

 

 

 

unix环境高级编程_操作系统

 

 

 

 

下面是运行程序,这样本书的运行例子的环境就搭建完成了。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UNIX基础知识

 

Unix体系结构

控制计算机硬件资源,提供程序运行的环境,一般而言,我们称此种软件为内核,它相对较小,位于环境中心,

 

为系统调用,公共函数构建在系统调用接口之上,应用软件即可使用公用函数库,也可以使用系统调用,shell是一种特殊的应用程序,它为运行其他应用程序提供一个接口,

目录文件名

创建目录时会自动创建2哥文件名:.和..。

路径名

绝对路径和相对路径  /xxx/ssss   sdfsdf/erwerw

 

起始目录

登陆时,工作目录设置为起始目录,该起始目录从口令文件中相应用户的登录项中取得。

输入和输出

1.      文件描述符通常是一个小的非负整数,内核用它标识一个特定进程正在访问的文件。当内核打开一个已有文件或创建一个新文件时,它返回一个文件描述符。在读写文件时,就可以使用它。

2.      标准输入、输出、和标准出错。可以使用 > 、<来重定向。

3.      不用缓冲的I/O。

函数open、read、write、lseek以及close提供了不用缓冲的I/O。这些函数都使用文件描述符。

 

 

 

 

 步子迈大了,那啥了。。。。。

 

举报

相关推荐

0 条评论