OS X下UNIX环境高级编程(第三版)学习日志-第一章ChapterI,编译apue包与第一个例程

1.从网络上获取代码,地址如下apue最新官方下载地址

2.解压到本地

由于最新版本是第三版(3rd Edition),apue.3e,就是我们要的源代码

3.编译源代码

编译过程中笔者并未遇到任何问题,所以建议大家也下载最新版本的代码来学习,贴一下笔者的环境信息

Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.5.0
Thread model: posix

3.1 没有安装xcode,只安装了os x命令行开发工具,os x用户可以在这里下载官方最新最全版本的xcode及命令行开发工具(xcode ghost出了之后只信任官方haha),笔者安装的是适用于os x10.10的版本,目前稳定版的xcode是6.4所以就选6.4版本,读者可自行选择。

最新版本的gcc(5.2.0)在编译的时候会有不支持-R命令的问题,因此就选用了自带的4.2.1(好像是吼),读者如果用的也是不支持-R命令的问题,可以尝试更换其他版本的gcc。

3.2 编译

进入apue.3e目录,make

生成的文件中,对于本文最重要的一个,静态库文件:apue.3e/lib/libapue.a,由lib下的.c文件生成,目测是本书所有例程中调用的自己编写的函数静态库。

这个阶段笔者没有遇到问题所以。。。进入下一节,例程:ls(1)命令的简要实现。

4.ls(1)命令的简要实现 第一个例子

在网上尝试搜索的时候发现很多初学的小伙伴都卡在了这里,着重介绍下,例程代码就不在这敲了,下载的代码里有/apue.3e/ls1.c,有一个很坑爹的事实知会os x的同学,书中给的命令cc myls.c不能直接用!

我们要这么编译:

4.1.添加C_INCLUDE_PATH路径使#include "apue.h"可用,具体操作请自行查找

4.2.编译,输入命令gcc -c myls.c,只编译出.o文件

4.3.链接,链接过程中要加入静态库路径,gcc -o myls myls.o -L??/Users/AlexTuan/unix/apue.3e/lib -lapue,读者将高亮部分替换成自己的libapue.a的路径即可。?

4.4.运行 ./myls test 就可以列出test目录下所有的子目录/文件。

殷切希望可以帮到和我一样在os x下初学 UNIX环境高级编程的小伙伴们,不用像我一样浪费两三个晚上才找到答案TUT。

如果本文对你有所帮助,请随意转载,注明作者即可。

THE END

时间: 2024-12-22 22:31:15

OS X下UNIX环境高级编程(第三版)学习日志-第一章ChapterI,编译apue包与第一个例程的相关文章

【转】apue《UNIX环境高级编程第三版》第一章答案详解

原文网址:http://blog.csdn.net/hubbybob1/article/details/40859835 大家好,从这周开始学习apue<UNIX环境高级编程第三版>,在此,我要感谢网易的一个工程师朋友和室友,没有他们,我不会开始真正的学习这本书,希望大家以后开始慢慢进步.废话少说,直接上课后习题了. UNIX高级编程第一章习题答案: 1.1在系统上验证,除根目录外,目录l和l l是不同的. 答:这个验证有很多方法可使用命令ls .cd.vim等,目录.指向当前目录,目录..指

unix环境高级编程(第三版)中apue.h文件的配置问题

最近刚开始学习unix环境高级编程(第三版),其中有个作者自己写的apue.h文件,在这归总下相应的配置方法,希望对有需要的朋友们有所帮助 首先http://www.apuebook.com/code3e.html 上去下载相应的压缩包,注意自己书的版本. 下载完成之后,鉴于大多数朋友学习linux都是基于虚拟机的,所以顺便附上虚拟机与本地主机传输文件的方式 首先下载SSH Secure Shell 这个工具,然后直接点击quick connect, 弹出如下界面,输入虚拟机的ip地址,和登录用

Linux - Unix环境高级编程(第三版) 代码编译

Unix环境高级编程(第三版) 代码编译 本文地址:http://blog.csdn.net/caroline_wendy 时间:2014.10.2 1. 下载代码:http://www.apuebook.com/code3e.html 2. 安装依赖库:sudo apt-get install libbsd-dev  3. 进入下载目录make 4. 复制头文件和动态链接库 sudo cp ./include/apue.h /usr/include/ sudo cp ./lib/libapue

《unix环境高级编程&#183;第三版》源代码编译及使用

<unix环境高级编程·第三版>源代码编译及使用 <unix环境高级编程>中有很多示例代码需要包含作者自定义的头文件,如"apue.h".这些代码可以从以下网址下载 http://apuebook.com/code3e.html 1. 解压文件 tar -zxvf src.3e.tar.gz 2. 安装libbsd-dev,否则编译会报错不通过,会提示编译threads文件夹里面的内容时报错 3. cd apue.3e make 用 root 用户或者 sudo

unix 环境高级编程第三版 源码无法 make 成功, 对‘heapsort’未定义的引用 -apue.3e

http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/l/ 我的环境是centos7 x86_64 查看方法: [[email protected] ~]# uname -aLinux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 找到对应的rpm ,下载进行安装即可

Linux - Unix环境高级编程(第三版) 源代码编译(即头文件apue.h如何使用问题)【转】

本文转载自:http://blog.csdn.net/hadas_wang/article/details/43203795 1. 下载代码:http://www.apuebook.com/code3e.html 2. 安装依赖库:sudo apt-get install libbsd-dev  3. 进入下载目录make 4. 复制头文件和动态链接库 [plain] view plaincopy sudo cp ./include/apue.h /usr/include/ sudo cp ./

《UNIX环境高级编程(第3版)》

<UNIX环境高级编程(第3版)> 基本信息 原书名:Advanced Programming in the UNIX Environment (3rd Edition) (Addison-Wesley Professional Computing Series) 原出版社: Addison-Wesley Professional 作者: (美)W. Richard Stevens    Stephen A. Rago 译者: 戚正伟 张亚英 尤晋元 出版社:人民邮电出版社 ISBN:9787

《UNIX环境高级编程》第二版源码在Ubuntu下的编译

涂鸦一文,自娱娱乐. 无题 草舍如沙天地卷,且放白鹿青崖间.   望闻问切麻雀全,漫卷诗书彩云乡.   天地琴心天地曲,天际行将遥望远.   大浪淘沙鲁智深,乱云飞渡仍从容. <UNIX环境高级编程>第二版源码在Ubuntu下的编译

UNIX环境高级编程之----多线程同步学习

线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点.linux下提供了多种方式来处理线程同步,最常用的是互斥锁.条件变量和信号量. 1.互斥锁(mutex) 通过锁机制实现线程间的同步.同一时刻只允许一个线程执行一个关键部分的代码. int pthread_mutex_init(pthread_mutex_t *mutex,const pthread_mutex_attr_t*mutexattr); int pthread_mutex_lock(pthread_mutex *