《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環境搭建成功,你們盡情暢遊吧操作系統

相關文章
相關標籤/搜索