最近開始學(xué)習(xí) APUE ,因?yàn)榱?xí)慣了用 IDE ,所以選擇 CLion 作為學(xué)習(xí)環(huán)境。配置環(huán)境的過程中在網(wǎng)上查詢了很多資料,繞了一些彎子。最后用比較簡單的方式解決了問題。
開發(fā)環(huán)境:Deepin 15.5 + CLion + GCC 6.4.0
-
下載隨書源代碼,并解壓
wget http://www.apuebook.com/src.3e.tar.gz tar -xzvf src.3e.tar.gz
-
安裝 libbsd
sudo apt install libbsd-dev
-
編譯
cd apue.3e make
-
復(fù)制頭文件和編譯產(chǎn)生的鏈接庫
sudo cp lib/libapue.a /usr/local/lib/ sudo cp include/apue.h /usr/local/include/
-
新建 CLion C 工程,修改
CMakeLists.txt
文件cmake_minimum_required(VERSION 3.9) project(APUE C) set(CMAKE_C_STANDARD 11) link_libraries(apue) add_executable(ls1 ls1.c)
-
按書中的示例編寫代碼
#include <apue.h> #include <dirent.h> int main(int argc, char *argv[]) { DIR *dp; struct dirent *dirp; if (argc != 2) err_quit("usage: ls directory_name"); if ((dp = opendir(argv[1])) == NULL) err_sys("can't open %s", argv[1]); while ((dirp = readdir(dp)) != NULL) printf("%s\n", dirp->d_name); closedir(dp); return 0; }
編譯運(yùn)行即可(運(yùn)行結(jié)果省略)