第一步:搭建基本的编译环境

  安装gcc, g++, bulid-essential等编译软件

第二步:下载本书示例源码包

  可在这里下载 www.apuenook.com

第三步:解压下载到的包并放在用户主目录中

第四步:进入包内,打开名为Make.defines.linux的文件( 本人linux系统 ),将其中的WDKIR变量设为源码包的路径。

第五步:将源码包中 ipp/ipp.h 文件第122行的status变量更名为Status变量

第六步:将源码包中 ipp/printd.c 文件第977行的hp->status改为hp->Status

第七步:在源码包 include/apue.h 文件中添加宏变量定义语句 #define ARG_MAX 4096

第八步:在源码包 threadctl/getenv1.c 和 threadctl/getenv3.c 文件中添加包含头文件的语句 #include "apue.h"

第九步:在源码包目录中执行make指令

第十步:执行以下命令以将编译所需头文件和生成的库文件拷贝到系统相关目录

 sudo cp ~/apue.2e/include/apue.h /usr/include
sudo cp ~/apue.2e/lib/libapue.a /usr/lib

第十一歩:编译一个程序并运行测试

(注:编译指令末尾要跟上 -lapue 参数以连接到相关库 )

如此,环境就搭建好了,可以对书中源码进行测试,修改了。

第一篇:《UNIX 环境高级编程》编译环境的搭建的更多相关文章

  1. 第一篇:《UNIX 网络编程 第二版》编译环境的搭建

    第一步:搭建基本的编译环境 安装gcc, g++, bulid-essential等编译软件 第二步:下载本书示例源码包 第三步:解压下载到的包并放在用户主目录中 第四步:进入包内并执行以下命令 su ...

  2. 《UNIX 网络编程 第二版》编译环境的搭建( 运行本专栏代码必读 )

    第一步:搭建基本的编译环境 安装gcc, g++, bulid-essential等编译软件 第二步:下载本书示例源码包 可在这里下载http://ishare.iask.sina.com.cn/f/ ...

  3. 《Java从入门到放弃》JavaSE入门篇:网络编程(入门版)

    要进行网络编程,首先要搞清楚目的是什么. 网络编程说简单点就是在网络上的计算机进行数据的交互. 既然要进行数据交互,那就需要有一个发送方和一个接受方. 按网络上的说法,就是一个攻一个受· 当然,现阶段 ...

  4. python 网络编程第二版

    为服务端增加多进程解决方案 1.server端代码如下: #!/usr/bin/python #!coding:utf-8 import os,sys,time from socket import ...

  5. 【unix网络编程第三版】阅读笔记(三):基本套接字编程

    unp第三章主要介绍了基本套接字编程函数.主要有:socket(),bind(),connect(),accept(),listen()等. 本博文也直接进入正题,对这几个函数进行剖析和讲解. 1. ...

  6. 【UNIX网络编程第三版】阅读笔记(一):代码环境搭建

    粗略的阅读过<TCP/IP详解>和<计算机网络(第五版)>后,开始啃这本<UNIX网络编程卷一:套接字联网API>,目前linux下的编程不算太了解,在阅读的过程中 ...

  7. 【unix网络编程第三版】阅读笔记(五):I/O复用:select和poll函数

    本博文主要针对UNP一书中的第六章内容来聊聊I/O复用技术以及其在网络编程中的实现 1. I/O复用技术 I/O多路复用是指内核一旦发现进程指定的一个或者多个I/O条件准备就绪,它就通知该进程.I/O ...

  8. 【unix网络编程第三版】ubuntu端口占用问题

    <unix网络编程>一书中的代码并不是能直接运行,有时候需要结合各方面的知识来解决,大家在这本书的时候,一定要把代码都跑通,不难你会错过很多学习的机会! 1.问题描述 本人在阅读<U ...

  9. python核心编程第二版笔记

    python核心编程第二版笔记由网友提供:open168 python核心编程--笔记(很详细,建议收藏) 解释器options:1.1 –d   提供调试输出1.2 –O   生成优化的字节码(生成 ...

  10. UNIX网络编程——UDP 的connect函数(改进版)

    上一篇我们提到,除非套接字已连接,否则异步错误是不会返回到UDP套接字的.我们确实可以给UDP套接字调用connect,然而这样做的结果却与TCP连接大相径庭:没有三次握手.内核只是检查是否存在立即可 ...

随机推荐

  1. Ubuntu 18.04修改IP地址

    注:配置/etc/network/interfaces已无用 root@ubuntu:~# vim /etc/netplan/50-cloud-init.yaml network: ethernets ...

  2. JavaScript-常用正则函数(适合忘记时看)

    test:测试string是否包含有匹配结果,包含返回true,不包含返回false. <script type="text/javascript"> var str ...

  3. chrome的input输入框填充后背景颜色变成黄色 (input:-webkit-autofill 导致的)

    填写form表单时发现chrome的一个好坑啊! 当你之前有填写过表单,获取焦点时,input会有一个记录之前填写过的文本的下拉列表式的东东, 按理说,这没什么问题,很多时候为了方便,也需要它记录输入 ...

  4. 使用Wifi连接ADB调试App

    前提:你的手机ROOT过,做Android开发的,别跟人说你的手机不是ROOT的. 步骤:   1.在手机上把ADB服务进程的TCP端口设置为5555,这是Android ADB的默认调试商品.这需要 ...

  5. ADB 高级应用

    一.利用无线来查看adb shell > adb tcpip 5555   连接: > adb connect IP:5555   见后文<调试注意事项>   二.模拟按键   ...

  6. chrome-bug

    1.web前端的问题,为什么chrome浏览器下,input type=text 输入框的提示信息隐藏 是因为chrome谷歌浏览器input属性他默认的有...可能你需要把input设置一下disp ...

  7. C语言之文件操作08——总结

    C程序的文件操作共涵盖7个例题,包括格式打印,文件读取,条件查找,矩阵的文件操作,数据格式输入及调用计算等内容. 文件操作使得程序有更强的拓展性,使其能够单独保存数据.这为程序的调试和优化打下了坚实的 ...

  8. php_memcahed 使用方法

    用php_memcache.dll 扩展库操作方法 1.下载php_memcache.dll 对应的PHP版本拷贝到PHP目录EXT下 2.在php.ini添加扩展extension=php_memc ...

  9. H5 获取地理位置

    只能通过手机浏览器访问,并且用户必须允许访问才可以生效 <!doctype html> <html> <head> <title>Mobile Cook ...

  10. PsExec使用

    01. 创建一个 Process Process.FileName ="文件路径及文件名称" Process.Arguments ="\\PC PI地址 -u 用户名 - ...