水哥 liunx 之旅 之高階程式設計 1

2021-06-09 05:54:03 字數 1165 閱讀 3853

入手unix高階程式設計的書已經快1個月了,平時也沒什麼時間看,真浪費。今天花 了點時間進行了初級的研究:

進入sample的演示,遇到了一些問題,即其些標頭檔案找不到,apue.h,google了一把:

環境

linux mypad 2.6.38-arch #1 smp preempt tue may 3 06:04:40 utc 2011 i686 intel(r) core(tm)2 duo cpu t6570 @ 2.10ghz genuineintel gnu/linux

確保你已經安裝了gcc和gawk。

步驟

2.tar解包,cd apue.2e

3.vi make.defines.linux   修改變數wkdir,指向你的apue原始碼的位置,我的是/home/huangz/code/apue.2e,所以

wkdir=/home/huangz/code/apue.2e

4.vi include/apue.h  增加乙個常量arg_max,這是threadctl/getenv1.c和threadctl/getenv3.c要用到的;4096這個值是參考裡給的,如果有問題,自己修改吧。

#define arg_max 4096

5.vi threadctl/getenv1.c   增加

#include "apue.h"

6.vi threadctl/getenv3.c   增加

#include "apue.h"

7.vi threads/badexit2.c   修改第31行,將pthread_self()的返回值轉換為int型別。

printf("thread 2: id is %d\n", (int)pthread_self());

8.vi std/linux.mk   將兩個nawk改為gawk

9.make

10.sudo cp include/apue.h /usr/include

sudo cp lib/libapue.a /usr/lib

1-8步是對其內容以及環境的不同進行了一些修改,9是生成 libapue.a的靜態庫,10是將編譯好的庫和標頭檔案放入系統環境變數中

之後編譯中就可以使用了

例: cc my.c -lapue -0 hello

參考**:

Python之高階程式設計

1 給class繫結屬性 方便所有物件使用 2 使用 slote 變數 限制繫結屬性 slots name age 用tuple定義允許繫結的屬性名稱 子類例項允許定義的屬性就是自身的 slots 加上父類的 slots 3 property class student object propert...

PHP Mysql程式設計之高階技巧

筆者做了以下的嘗試。php data time 199 23 59 59 localhost query id mysql query select date add data time interval 1 year connect id data time mysql result 程式設計客棧...

Python函式式程式設計之高階函式

函式式程式設計,和物件導向程式設計一樣,是現在很流行的一種程式設計正規化。函式式程式設計就是一種抽象程度很高的程式設計正規化,純粹的函式式程式語言編寫的函式沒有變數,因此,任意乙個函式,只要輸入是確定的,輸出就是確定的,這種純函式我們稱之為沒有 而允許使用變數的程式語言,由於函式內部的變數狀態不確定...