最近开始学习 APUE ,因为习惯了用 IDE ,所以选择 CLion 作为学习环境。配置环境的过程中在网上查询了很多资料,绕了一些弯子。最后用比较简单的方式解决了问题。
开发环境: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
-
复制头文件和编译产生的链接库
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; }
-
编译运行即可(运行结果省略)
网友评论