1. 程式人生 > >Linux程序設計 筆記——第一章入門

Linux程序設計 筆記——第一章入門

red linux的應用 活性 執行文件 編譯器 任務 linux程序 ascii碼 區別

1、Unix的哲學

  簡單性:Keep It Small and Simple。越大、越復雜的系統註定包含越大、越復雜的錯誤,而調試是所有人的苦差事。

  集中性:不要把所有亂七八糟的功能堆在一起,功能臃腫的程序很那維護和使用。當用戶出現新的需求的時候,我們通常是把小工具組合起來已完成更復雜的任務。

  可重用組件:將應用程序的核心封裝成庫,便於調用。

  過濾器:Unix提供了一些機制,讓我們可以把一些Unix程序通過一種新穎的方式組合起來,以開發出相當復雜的程序。

  開放的文件格式:比較成功並流行的Unix程序都是用純ASCII碼的文本文檔或者XML文件作為配置文件和數據文件。

  靈活性:你不能期待用戶都能非常正確地使用你的程序。永遠不要認為你知道用戶想做的一切事。

2、Linux程序設計

  Linux的應用程序有兩種類型:可執行文件和腳本文件。可執行文件是計算機可以直接運行的文件,就像Windows下面的.exe文件一下;腳本文件通常是一組指令的集合,這些指令有解釋器執行,按照腳本的順序指令執行,比如shell文件。

  Linux並不要求這兩種類型的文件有特殊的文件名或者後綴名,但最好加上來區別,像shell文件的後綴為.sh、Python的後綴為.py等等。

3、Linux下與程序設計有關的目錄

  /bin:二進制文件目錄,存放啟動系統時用到的程序。

  /usr/bin:用戶二進制文件目錄,用於存放用戶使用的標準程序。

  /usr/local/bin:本地二進制文件目錄,用於存放軟件安裝的程序。

4、文本編輯器

  書中推薦使用的編輯器是Emacs,而我本人使用的是vim,不做任何說話,避免開戰。

  編譯器使用的gcc。

5、第一個Linux C語言程序

#include <stdio.h>
#include <stdlib.h>

int main()
{
  printf("hello world\n");
  exit(0);
}

  編譯、鏈接和運行程序

$ gcc -o hello hello.c //-o name 告訴編譯器可執行文件的名稱,不加默認生成a.out(assembler output)
$ ./hello

  hello world

6、開發系統引導

  對C語言來說,頭文件幾乎總是位於/usr/include目錄及其子目錄中。那些依賴於特定Linux版本的頭文件通常可以在目錄/usr/include/sys和/usr/include/linux中找到。

  在調試c語言的時候,可以使用-I(大寫)標誌來包含保存在子目錄或非標準位置中的頭文件。例如:

$ gcc -I /usr/openwin/include fred.c

  編譯器會在此目錄下查找源文件中包含的頭文件。

  

Linux程序設計 筆記——第一章入門