Mac OS X 10.8 中编译APUE(Unix环境高级编程)的源代码过程_C 语言

最近在温习APUE(《unix环境高级编程》),以前都是在linux下搞,现在打算在自己机器弄下,于是google了下,把编译的事情搞定了,修改了一些教程的一些错误,比如下载链接之类的。

1、下载源文件,我这里是第二版,貌似第三版的英文版出来了。。。

复制代码 代码如下:

wget http://www.apuebook.com/src.2e.tar.gz

2、解压

复制代码 代码如下:

tar zxf src.2e.tar.gz

3、修改些东西

复制代码 代码如下:

cd apue.2e/
vim Make.defines.macos
WKDIR=/Users/chenqing/apue.2e //更改到你的代码的绝对路径
vim include/apue.h
在第11行后加入下面三句
#ifdef MACOS
 #define _DARWIN_C_SOURCE
 #endif

4、编译

复制代码 代码如下:

make all

5、复制

复制代码 代码如下:

sudo cp include/apue.h /usr/include/
sudo cp lib/error.c  /usr/include/

6、修改apue.h

在最后一行#endif  前面添加一行 #include “error.c”

7、测试一下

复制代码 代码如下:

#include <apue.h>
int main()
{
         err_sys("some error found %d",getpid());

         return 0 ;

}

时间: 2016-09-17
Tags: mac, 编译APUE, 10.8

Mac OS X 10.8 中编译APUE(Unix环境高级编程)的源代码过程_C 语言的相关文章

UNIX环境高级编程中的apue.h

/************** * *apueerror.h * *************/ #include <apue.h> #include <stdio.h> #include <errno.h> /* for definition of errno */ #include <stdarg.h> /* ISO C variable aruments */ static void err_doit(int, int, const char *, va

Mac OS X 10.8.X编译Android4.2.X源码不生成emulator的问题

编译时的提示: Checking build tools versions- build/core/main.mk:165: **************************************** build/core/main.mk:166: * gcc is linked to llvm-gcc which will * build/core/main.mk:167: * not create a useable emulator. * build/core/main.mk:168

Mac OS X 10.2中创建新文件夹

在 Mac OS X 中有多少种制作新文件夹的方法? 让我们来数数看. 1. 从「档案」(File)选单中选取「新建文件夹」(New Folder). 2. 同时按下 Command + Shift + N. 3. 从「显示方式」选单中选取「自定工具列-」(Customize Toolbar),然后将「新建文件夹」(New Folder)图像加到工具列中,这样您便可以随时新建文件夹. 这里提供您另一则在 Scott Kelby 所着的<Mac OS X Killer Tips>一书中所提到的小

《UNIX环境高级编程(第3版)》——2.10 小结

2.10 小结 在过去25年多的时间里,UNIX编程环境的标准化已经取得了很大进展.本章对3个主要标准--ISO C.POSIX和Single UNIX Specification进行了说明,也分析了这些标准对本书主要关注的4个实现,即FreeBSD.Linux.Mac OS X和Solaris所产生的影响.这些标准都试图定义一些可能随实现而更改的参数,但是我们已经看到这些限制并不完美.本书将涉及很多这些限制和幻常量.

《UNIX环境高级编程(第3版)》——1.10 时间值

1.10 时间值 历史上,UNIX系统使用过两种不同的时间值. (1)日历时间.该值是自协调世界时(Coordinated Universal Time,UTC)1970年1月1日00:00:00这个特定时间以来所经过的秒数累计值(早期的手册称UTC为格林尼治标准时间).这些时间值可用于记录文件最近一次的修改时间等. 系统基本数据类型time_t用于保存这种时间值. (2)进程时间.也被称为CPU时间,用以度量进程使用的中央处理器资源.进程时间以时钟滴答计算.每秒钟曾经取为50.60或100个时

Mac OS X 10.2完善的Internet设计

Mac OS X 10.2是使用支持Internet的技术开发制作的,所以能够全面支持标准的Internet 技术,用户可以轻松接入任何基于Internet标准的网络.Mac OS X 10.2通过内置的Internet 应用程序及由Internet完成的在线帮助和软件自动升级,可以为用户提供更快更方便的网络功 能. Mac OS X 10.2内置的Internet应用程序有Mail.Microsoft Internet Explorer.Internet Connect.. Mac.iDisk

在Mac OS X 10.10.3中配置Apache + PHP + MySQL

网上的教程已经有很多,这里简洁的记录一下.以 Mac OS X Mavericks 10.10.3 为例. 先附上如何进入指定目录文件夹,按键盘 Command + Shift + G ,然后输入指定目录名即可. 工具/原料 以 Mac OS X Mavericks 10.10.3 为例. 一.启动 Apache 1 Mac OS X 系统已经集成了 Apache+PHP 环境,依次进入"系统偏好设置 -> 共享" ,开启"Web 共享",就可以打开 Apac

Mac OS X 10.2完美的数码解决方案

数码相机.数码摄像机的出现使相机.摄像机与计算机的连接与传输更加方便.Mac OS X 10.2系统的4"i"(iPhoto/iMovie/iDVD/iTunes)为初级和家庭用户展示了数码视频.数码生 活的理念.其中iPhoto是一个数码照片管理编辑软件,iMovie是一个视频电影编辑软件,iDVD是一个DVD刻录软件,而iTunes是一个音乐管理软件. iPhoto- 数码相机正在改变职业摄影师,摄影发烧友,甚至初学者拍摄和洗印照片的方法.全新 iPhoto软件也将改变用户处理数码

Mac OS X 10.2的认识

欢迎进入Mac OS X 10.2的迷人世界.UNIX强大的功能.出色的稳定性以及Macintosh传奇性的简洁.高雅,两者的结合造就了一款超现代的优秀操作系统--Mac 0S X 10.2.1.1 Mac OS X 10.2的新面孔--AquaMac OS X 10.2中的Aqua界面如图1-1所示.新的Aqua界面使Mac界面中的要素更为精简,使用起来更加直观,高效.Aqua为用户提供了一系列崭新的组织功能,包括Dock和Finder.其简洁的驾驭功能能够用更多方式个性化你的系统,同时方便你