1. 程式人生 > >Linux環境高階程式設計--介紹

Linux環境高階程式設計--介紹

       從今天開始,將開啟Linux環境高階程式設計(Advanced Programming Of Linux Enviroment的學習筆記或者說總結,我將持續和大家分享自己的學習成果。本系列部落格依託於lilin老師的課程,程式碼也基本上來自於課程的內容,在得到老師的同意和允許情況,我在github上新建了一個倉庫和大家分享程式碼,倉庫名稱為APLE 有任何建議或者想法的可以一起參加進來改進程式碼。

       首先,我們介紹下系列部落格的基本內容,APLE系列主要是在掌握基本Linux API的基礎上,封裝了一套C++的程式庫。所以我將在此係列的部落格上可能更多的是去介紹一些基本的面向物件的技巧,限於篇幅,並不會每一個Linux API都會仔細的說明,只會對稍微難以理解或者陷阱較多的地方進行仔細闡述,對於非常常見的易用的API,基本上是一筆帶過,不熟悉的可以自行參閱其他參考書目或者資料。值得一提的是,

APLE 中程式碼將是循序漸進出現的,這對於初學者來無疑是非常難得的,不會出現太大的跨度而造成很多地方難以理解。

       不管怎樣,我也是一個初學者,抱著學習和分享的態度,開此係列部落格,有任何錯誤希望大家熱心指出,我表不剩感激。最後謝謝lilin老師的教導和幫助,讓我受益匪淺。(如有任何疑問或建議請聯絡[email protected]

已完成:

第一部分:日誌的實現

相關推薦

Linux環境高階程式設計--介紹

       從今天開始,將開啟Linux環境高階程式設計(Advanced Programming Of Linux Enviroment)的學習筆記或者說總結,我將持續和大家分享自己的學習成果。本系列部落格依託於lilin老師的課程,程式碼也基本上來自於課程的內容,在

IPC 簡單的讀寫通訊例項 linux環境高階程式設計

先在當前目錄即編譯目錄下  是有touch建立 myshm檔案 然後依次編譯以下兩個檔案 shm_write #include <fcntl.h> #include <stdio.h> #include "apue.h" #include <e

Linux高階程式設計)2————環境變數以及設定

什麼是環境變數? 環境變數:一般是指作業系統在執行時指定作業系統執行環境的一些引數。Linux是多使用者作業系統,Linux為每個使用者都配置有自己的環境變數,這樣每個使用者都有自己的環境變數,預設情況下每個使用者的環境變數是一樣的。每個使用者可以通過配置環境變數來修改自己的執行環境。

Unix環境高階程式設計閱讀之一——Unix\Linux基礎知識

所有的作業系統都為它們所執行的程式提供服務。典型的服務包括:執行新程式、開啟檔案、讀檔案、分配儲存區以及獲得當前時間等。 UNIX體系結構示意圖 作業系統是用來控制計算機的硬體資源,提供程式執行環

linux下執行《UNIX環境高階程式設計》的第一個程式時原始碼編譯出錯的處理方法

前幾天買了《UNIX環境高階程式設計》這本書,想好好學習下linux的程式設計。誰知道看到第一個列出指定目錄的內容的那個例子,其實就是shell中 ls 的內容,打好程式碼要執行時一直出問題。後來在網上找了挺多的解決方法,終於解決了。先把方法貼上。 先在終端裡面輸入 vi

UNIX環境高階程式設計的學習(二)

UNIX系統程序控制程式說明 該程式從標準輸入讀取命令,然後執行這些命令,程式涉及到的函式主要用法包括: fgets的用法 execlp的用法 waitpid的用法 程式如下: #include "apue.h" #include <sys/wai

UNIX環境高階程式設計的學習(一)

UNIX環境高階程式設計第一個例子的編譯 這本書中有很多的例子,為了加深理解,習慣性自己敲一遍程式碼然後看執行結果,再去理解其中的知識點,但是在虛擬機器下如何編譯這些程式碼呢,需要以下幾步: 下載並解壓縮apue.3e檔案包 在“apue.h”中最後一行加:#inclu

Unix/Linux環境C程式設計入門教程 2 CentOS環境搭建

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Unix/Linux環境C程式設計入門教程 26 字元數字那些事兒

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

[UNIX環境高階程式設計] 檔案和目錄

1 引言 上文圍繞了普通檔案I/O進行了討論——開啟檔案、讀檔案或寫檔案。本文將描述檔案系統的其他特徵和檔案的性質。將從stat函式開始,stat結構中的大多數成員都是基本系統資料型別,逐個分解stat結構的每一個成員以瞭解檔案的所有屬性。 使用stat函式最多的地方可能就是[ls -l

[Unix環境高階程式設計] 檔案I/O

1.引言 UNIX系統中的大多數檔案I/O只需要用到5個函式:open、read、write、lseek以及close,這裡所涉及到的函式經常被稱為不帶緩衝的I/O1。只要涉及在多個程序之間共享資源,原子操作的概念就變得非常重要,我們將通過I/O和open函式的引數來討論此概念,dup、

Linux高階程式設計)9————程序間通訊6(訊號量)

訊號量是是什麼? 訊號量是程序間通訊方式之一,用來實現程序間的同步與互斥。訊號量的原理是一種資料操作鎖的概念,它本身不具備資料交換的功能,而是通過控制其他通訊資源(如文字、外部裝置等)來實現程序間通訊。訊號量本身不具備資料傳輸的功能,他只是一種外部資源的標識。 訊號量的本質是:具有等待佇

Linux高階程式設計)8————程序間通訊4(共享記憶體)

共享記憶體是什麼? 因為程序之間是相互獨立的,他們有各自程序地址空間,那麼他們需要通訊時就要藉助核心來為他們建立橋樑,像之前我們瞭解的管道、訊息佇列就是核心做的工作來為程序間通訊架的橋樑。共享記憶體也是核心為程序間通訊駕的一座橋樑,只不過這座橋樑比其他橋樑更優,共享記憶體是核心為需要通訊

Linux高階程式設計)3————程序的控制

程序控制都包含那些內容? 1.程序建立 2.程序終止 3.程序等待 4.程序替換 1.程序建立: 在前面程序概念中關於程序建立已有所瞭解,下面更詳細的分析進城建立。 fork()函式 返回值型別:pid_t 1.返回值: 1.子程序中返回0; 2.父程序中返回子程序的pi

Linux高階程式設計)1————程序概念

何為程序? 程序的典型定義: 1.程序是程式的一次執行。 2.程序是一個程式及其資料在處理機上順序執行時所發生的活動。 3.程序是具有獨立功能的程式在資料集合上執行的過程,他是系統進行資源分配和排程的一個獨立單位。 程序是程序實體的執行過程,是系統進行資源分配和排程的一個獨立單位。 程序

Linux高階程式設計)9————程序間通訊6(訊號1)

訊號是什麼? 訊號實質是一種軟中斷,用於通知程序發生了某些事件,實際上訊號也可以算作程序間通訊的一種方式,因為我們可在程序通過另一個程序傳送訊號,來告訴另一個程序發生什麼事。 這樣來講我們聽起來可能還會比較暈。 深入理解訊號: 在我們生活中其實就有訊號的

UNIX環境高階程式設計(第三版) 第五章筆記

5.2 流和物件 只有兩個函式可以改變流的定向: freopen函式清楚一個流的定向,fwide函式可用於設定一個流的定向。 #include <stdio.h> #include <wchar.h> int fwide(FILE

UNIX環境高階程式設計(三) 第六章

6 系統資料檔案和資訊 6.2 口令檔案 #include <pwd.h> struct passwd *getpwuid(uid_t uid); /* 檢視使用者登入名 */ struct passwd *getpwnam(const

UNIX環境高階程式設計(3) 第三章

3 檔案I/O 3.1 引言 3.2 檔案描述符 檔案描述符是一個標示,非負整數,類似於windows裡的控制代碼,為了與標準C保持一致(標準C裡的檔案的讀寫都是通過File Pointer)UNIX採用了這樣的三級結構,我混淆於檔案描述標誌和檔案

UNIX環境高階程式設計(3) 第八章

8 程序控制 8.1 引言 8.2 程序標識 #include <unistd.h> pid_t getpid(void); return: 呼叫程序的程序ID pid_t getppid(void