日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UNIX再学习 -- 再识

發布時間:2025/3/15 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UNIX再学习 -- 再识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

到了Unix編程,因為之前有C語言的基礎吧,看了下目錄大部分內容之前都有所總結,進度應該能夠加快。不過最近有點小郁悶,申請博客專家轉正失敗了,這也讓我重新審視了自己更新博客的初心是什么。絕不是為了與自己水平不符的專家稱號,而是為提升自己。我可以問心無愧的說每天都在進步,這已經是對于自己的肯定了。發完牢騷了,現在就開始Unix新篇!

一、再識

參看的是Unix 環境高級編程(第3版),在前言中講到本書這一版中涉及的平臺中Ubuntu12.04,正好我就在用這一版本的虛擬機。然后書中示例的源碼可以從?http://apuebook.com/src.3e.tar.gz?獲得,建議準備一本《Unix程序員手冊》作為參考手冊。我整理了下如果有需要可下載:UNIX環境高級編程

二、編譯

將下載后的源碼拷貝到虛擬機解壓,進入apue.3e目錄編譯

tar -xvf src.3e.tar.gz?

cd apue.3e

make

出現錯誤:

gcc -ansi -I../include -Wall -DLINUX -D_GNU_SOURCE badexit2.c -o badexit2 -L../lib -lapue -pthread -lrt -lbsd /usr/bin/ld: cannot find -lbsd collect2: ld 返回 1 make[1]: *** [badexit2] 錯誤 1 make[1]:正在離開目錄 `/home/tarena/project/apue.3e/threads' make: *** [all] 錯誤 1 原因是系統缺乏對應的庫文件,詳細可?參看:關于usr/bin/ld: cannot find -lxxx問題總結
解決方法:apt-get install libbsd-dev

三、使用

編譯完成,但是我們的目的不只是為看源碼,而是自己編寫。

將頭文件拷貝到系統 include 目錄下

cp /apue.3e/include/apue.h /usr/include/

拷貝?error.c 到系統 include 目錄下

cp /apue.3e/lib/error.c /usr/include/

注意,這里的文件是 error.c,不是 error.h,/usr/include /目錄下有一個 error.h 的頭文件。

編輯 /usr/include/apue.h 文件

在文件最后 #endif 前加上包含 error.c 的代碼:

#include "error.c"

然后將編寫程序包含頭文件。

#inlcude <apue.h>


說明:包含頭文件apue.h好理解,為什么要在頭文件上添加 error.c 呢?

舉個例子,調用?/apue.3e/exercises/openmax.c 里的函數 open_max 編譯時會出錯:

/tmp/ccb3T0PH.o: In function `open_max': openmax1.c:(.text+0x43): undefined reference to `err_sys' collect2: ld 返回 1 查看可發現 err_sys 等一系列函數是在 error.c 下定義的,所以需要添加 error.c 到頭文件。

四、root用戶登錄

一般Ubuntu默認的是普通用戶進入,root超級用戶被禁用。如果執行權限操作,需要加 sudo 。所以還是建議使用root模式登錄,之前已經有總結,我主要使用的Ubuntu12.04和14.04兩個版本,其他版本自行嘗試。 參看:C語言再學習 -- Ubuntu 12.04 root用戶登錄設置

參看:Hi3516A開發--使用root模式登錄Ubuntu14.04

五、登錄名設置

在/etc/passwd文件下,通常是可以改變用戶起始目錄,之前也講過。 參看:Hi3516A開發--/etc/passwd

總結

以上是生活随笔為你收集整理的UNIX再学习 -- 再识的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。