《UNIX环境高级编程》学习环境搭建---apue.h

正式开始学习《APUE》,跟着学习的过程当中也动手实践一下,所使用的操做系统为Ubuntu18.04bash

基本步骤

  1. 在官网上下载书中源代码
  2. tar -zxvf src.3e.tar.gz
  3. cd apue.3e
  4. make 可能会出现如下错误
/usr/bin/ld: 找不到 -lbsd
collect2: error: ld returned 1 exit status
复制代码

解决办法:添加libbsd.a的静态连接库 sudo apt-get install libbsd-dev函数

  1. make学习

  2. 编译成功后,开始安装apue.h文件及其对应的静态连接库libapue.a测试

sudo cp ./include/apue.h /usr/include/
sudo cp ./lib/libapue.a /usr/local/lib/
复制代码

能够看到,咱们拷贝一个apue.h文件到用户包含目录,还拷贝了一个libapue.a到库目录,其中libapue.a是apue.h头文件中包含的全部函数及宏定义的具体实现的一个静态连接库ui

  1. 至此,APUE的环境搭建成功,进行测试一下,下面这个是书中1-3的例子:
//1.3查看目录
#include "apue.h"
#include <dirent.h>

int main(char argc, char *argv[]) {
	DIR *dp;
	struct dirent *dirp;

	if(argc != 2)
		err_quit("usage: Is directory_name");
	if((dp = opendir(argv[2])) == NULL)
		err_sys("can't open %s", argv[1]);
	while((dirp = readdir(dp)) != NULL)
		printf("%s\n",dirp->d_name);
	
	closedir(dp);
	exit(0);
}
复制代码
  1. 编译 gcc 1-3.c -o 1-3 -lapue libapue.a在这里要写成apue,不了解的同窗请复习一下gccspa

  2. 至此,apue环境搭建成功,你们尽情畅游吧操作系统

相关文章
相关标签/搜索