程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 【linux+C】新征程 linux下C編程

【linux+C】新征程 linux下C編程

編輯:關於C語言

寫在開篇之前

  相信很多同學和蟲子一樣 當初選擇.net、java或者其他什麼... 一定程度上並非自己的主觀意願 而是迫於職場需要。至於身為微軟派為什麼要重新走linux的路,這裡不想挑起所謂的派系爭論,就算一開始蟲子選擇的是linux下編程,今天也一樣會重走windows的。

  另外告訴大家一個好消息,12月份的編程語言排行榜c#已經追到第四了 ~ ~

  本篇開始蟲子將和有同樣愛好的同學一起學習linux下編程,很多人多說語言是相通的,一通則百通。這裡我就不吐槽了,只想說一句人雲亦雲是不好的。不同類型的編程語言有不同的適用場景,不同的領域。你讓c coder去開發web應用、他會拿掃帚追你滿街跑,你讓c# coder去開發運維相關的底層支撐系統,他也只能笑笑吧。另外在此系列中蟲子不想和大家討論例如什麼mono在linux下跑.net之類的。就簡單的作一個微軟派的linux愛好者吧~ ~Linux操作系統在服務器領域的應用和普及已經有較長的歷史,這源於它的開源特點以及其超越Windows的安全性和穩定性。

  linux coder就不用看了 本系列純粹新手和新手之間的交流 作為完全從0開始 一路吃了不少苦 本系列都記錄下來 讓後來者不用再填坑了


--------------------------------------------------------------------------------

選擇

  系統:ubuntu10.10

  開發工具:eclipse cdt版本

  開發語言:C

  之所以選擇這些,看過蟲子以前博文的同學應該知道。這些在以前做fastdfs api的時候玩過,稍微熟悉一點。不過博文將從0開始重啟诠釋整個過程。


--------------------------------------------------------------------------------

學習資料

  ubuntu社區:http://forum.ubuntu.org.cn/

  必看:http://people.ubuntu.com/~happyaron/udc-cn/

  eclipse JRE:。http://www.oracle.com/technetwork/java/javase/downloads/index.html

  eclipse cdt版本:http://www.eclipse.org/downloads/

  C:書籍我就不推薦了  網上資源很多 譚浩強那本就算了 學校裡大家大部分都學過 不評價


--------------------------------------------------------------------------------

環境

  裝完ubuntu後運行終端

 \

執行命令sudo su

輸入密碼後拿到root權限

執行命令nautilus 以管理員的角色管理文件夾

 \

下面可以通過浏覽器下載所需的資源

也可以使用wget

 \

檢查下重要的libevent庫

沒有的話 從這裡下

wget http://www.monkey.org/~provos/libevent-2.0.12-stable.tar.gz

linux操作系統上面開發程序, 光有了gcc 是不行的
它還需要一個  build-essential軟件包

也就是說 編譯程序有了這個軟件包 它才知道 頭文件在哪 才知道庫函數在哪
還會下載依賴的軟件包   最後才組成一個開發環境 當然 build-essential包 安裝時 需要的依賴包 有些你用不上

\

檢查下最常用的vim

\

第一個hello world

  首先我們用傳統的記事本來試試

  用cd命令選中一個目錄 然後再目錄下新建個c類型的文件 

 \

寫個簡單的c程序

?1234567 #include <stdio.h> intmain(void) {     printf("Hello,world!\n");     return 0; }

 用gcc來編譯

\

假設源程序文件名為chongzi.c。

1. 無選項編譯鏈接
用法:#gcc chongzi.c
作用:將chongzi.c預處理、匯編、編譯並鏈接形成可執行文件。這裡未指定輸出文件,默認輸出為a.out。

2. 選項 -o
用法:#gcc chongzi.c -o chongzi
作用:將chongzi.c預處理、匯編、編譯並鏈接形成可執行文件chongzi。-o選項用來指定輸出文件的文件名。

3. 選項 -E
用法:#gcc -E chongzi.c -o chongzi.i
作用:將chongzi.c預處理輸出chongzi.i文件。

4. 選項 -S
用法:#gcc -S chongzi.i
作用:將預處理輸出文件chongzi.i匯編成chongzi.s文件。

5. 選項 -c
用法:#gcc -c chongzi.s
作用:將匯編輸出文件chongzi.s編譯輸出chongzi.o文件。

6. 無選項鏈接
用法:#gcc test.o -o chongzi
作用:將編譯輸出文件chongzi.o鏈接成最終可執行文件chongzi。

7. 選項-O
用法:#gcc -O1 chongzi.c -o chongzi
作用:使用編譯優化級別1編譯程序。級別為1~3,級別越大優化效果越好,但編譯時間越長。

運行生成的程序

\

用Eclipse來玩c程序

\

 

啟動Eclipse cdt版本 初始會讓你設置個workspace 玩過java的同學都很熟悉 照搬了

這裡我們新建一個c項目

\

 

設置項目屬性

 

\

如果是加載已存在的項目 在default location那邊設置一下路徑就可以了

\

不過很多程序是用make.sh來生成執行的 要在屬性裡更改配置

\

編譯後運行

\

gbd調試

很多c大牛其實都是不這樣調試 很詫異的 他們都是寫日志!!!!

不過關於如何調試我就不一點一點講了

推薦一個鏈接 http://fanqiang.chinaunix.net/program/other/2006-07-14/4834.shtml

 

作者:熬夜的蟲子
 

   

  

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved