程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 詳解Linux系統下搭建C語言開發環境

詳解Linux系統下搭建C語言開發環境

編輯:C++入門知識

Linux平台的C開發環境一般有Eclipse CDT,Source Insight或者VIM,都各有特點,但做為一個完全的Linux和C的門外漢,從最基本的工具開始學起,打好扎實的基礎,長遠來說應該是更有利的,所以就打算先學學VIM編寫C程序。

安裝Unbuntu jeOS

先要安裝Linux,Linux有很多發行版本,我們選擇Unbuntu jeOS,理由如下:

Ubuntu除了有服務器和桌面版本,也有叫做Ubuntu JeOS發音“juice”)的版本,Ubuntu JeOS在2007年發行,它代表Just Enough Operating System。Ubuntu Server JeOS在創建虛擬設備的簡易性方面明顯成熟了。這意味著它的內核精簡了,只包括那些虛擬設備需要的選項。正因如此,Ubuntu Server JeOS比任何普通Ubuntu Server版本運行得更有效。Ubuntu Server JeOS在你能展開的已經配置好的應用上提供了一個最小的操作系統。
因為我們是用Linux來學習開發程序,沒必要用GUI環境裡的那些東西,而且我們是在虛擬機裡安裝,所以就選擇jeOS了,先按如下鏈接的前半部分安裝Unbuntu jeOS

基於Ubuntu Jeos打造自己的精簡版Linux服務器

http://www.yanjiuyanjiu.com/2010/04/14/ubuntu-jeos/

其中vmware-tools按文中提示的方法是裝不上的,我折騰半天也沒裝上,老提示vmware-install.pl找不到,chmod 755也不行,需要在vmware裡設置虛擬光驅,並指向Linux.iso文件,然後在unbuntu裡掛載上光驅,然後把VMWARETO.TGZ解壓到自己的一個目錄裡,再執行./vmware-install.pl。一般把光驅加載到/mnt/cdrom下,用如下腳本

  1. cd /mnt  
  2. mkdir cdrom  
  3. mount /dev/cdrom /mnt/cdrom 

這裡要學下cd,mkdir,mount,tar等命令的使用,這些東西用的多了,慢慢積累就熟練了,文中將的SSH Secure Shell Client 3.2.9也挺好用的,建議裝下,當然你有喜歡的終端也可以。文中說的共享文件夾挺有用,也可以跟著設置一下,裝好vmware-tools就能啟用了,這樣你可以在windows裡用Source Insight查看編輯文件,然後在Linux裡進行編譯,也挺方便。

安裝build-essential

在Ubuntu系列操作系統裡有一個apt-get的命令用來在線安裝各種軟件,很方便簡介,可以從網上查下資料,詳細了解下該命令的用法,記著把sources.list更新後要執行apt-get update更新源,否則執行其它的apt-get命令會提示出錯的,另外網上說的apt-get search命令我這裡不能執行。

當然要在線安裝各種軟件需要先配置好網絡,默認裝好系統後好像就能連到網絡了,但我的機器不知道怎麼老不能上網了,可用如下步驟來解決,

1.在vmware裡設置網卡模式為NAT

2.先ifconfig -a查看那有幾塊網卡,一般可以看到lo和eth0,我這裡是eth1

3.然後用vi /etc/network/interfaces編輯該文件,再最後面加一句iface eth0 inet dhcp

4.重啟虛擬機或者/etc/init.d/networking restart就行了

5.再次ifconfig就可以看到已分配到了IP,然後ping一下外網地址驗證一下。

這裡簡單理解vi是個編輯工具,/etc目錄是存放各種服務的配置文件的就行了,裝好網絡後,我們一般用終端去連接到Linux上,用sudo apt-get install openssh-server安裝SSH SERVER,用/etc/init.d/ssh resart 命令啟動起來,用ps -e |grep ssh能查看到有sshd就證明啟動起來了,以後咱就用終端連接進來操作Linux就好了。

配好網絡後執行apt-get install build-essential,就可以自動安裝libc,gcc,g++,make等C開發工具了,用apt-cache depends build-essential 命令可以查看該包的依賴關系,完了再apt-get install gdb安裝調試工具,用gcc -v來查看gcc的版本,如果能正常出現就說明安裝成功了,以下這篇文章可以讓你對gcc快速入門

如何使用gcc編譯器?

http://Linux.chinaunix.net/doc/2004-10-05/22.shtml

配置VIM配置編輯環境

編譯和調試環境安裝好了,該裝編輯器了,VIM是個入門難,但用熟了會極大提高編輯效率的工具,其實入門也不算難,用一周基本長常用的20%的功能就都熟悉了,老樣子用apt-get install vim安裝,裝好後運行vim命令,確保版本是7.1以上。裝好後為了編輯方便,先啟用語法高亮顯示,自動縮進,顯示行號等,用VIM編輯VIM的配置文件vim /etc/vim/vimrc,在末尾加上如下設置

  1. syntax on  
  2. set autoindent  
  3. set cindent  
  4. set nu 

先簡單設置這些,以後再設置配色方案,自動提示,文件列表等功能,VI的使用,大家可以看看VI的中文手冊,和後面的參考鏈接。

編寫簡單的C程序

我們先寫一個math.c的文件來提供階乘的功能,然後math.h來提供該文件對外發布的功能,hello.c是一個消費程序,使用math.c提供的功能向用戶提供一個輸入數字並打印出階乘的功能。在C裡編譯的時候只要在包含的.h文件裡找到調用的函數聲明就可以了,然後鏈接的時候會從指定的.o文件裡尋找.h裡聲明的函數定義,上面給出的連接裡已經學到了gcc生成目標文件,指定輸出文件名,指定要連接的目標文件等操作,可是如果一個程序的文件很多的話,打這麼多命令很費力,所以這裡就需要make命令,我們得編寫makefile文件來簡化編譯過程,makefile文件定義了每個目標文件的依賴,以及生成目標文件的命令,一個目標只有它依賴的文件改變了才會重新編譯,這樣就很智能的只編譯應該需要重新編譯的模塊。

math.h,聲明函數

  1. #ifndef _MATH_H  
  2. #define _MATH_H  
  3. int f(int);   
  4. #endif   
  5. math.c,函數實現  
  6.  
  7. #include "math.h"  
  8.  
  9. int f(int n)  
  10. {  
  11.        int t;  
  12.        if(n == 0 || n == 1) t = 1;  
  13.        else t = n * ( n - 1);  
  14.        return (t);  

hello.c 主函數,實現調用邏輯

  1. #include <stdio.h>  
  2. #include "math.h"  
  3.  
  4. int main()  
  5. {  
  6.        int n, i, sum = 0;  
  7.        printf("please input number:");  
  8.        scanf("%d",&n);  
  9.        for(i = 1;i<=n; i++ ) sum += f(i);  
  10.        printf("sum=%d\n", sum);  
  11.        return 0;  

makefile文件,注意makefile文件是一行目標依賴聲明,一行目標生成命令,其中目標生成命令前面一定要有個tab,否則執行make命令會出錯

  1. hello: math.o math.h hello.c  
  2.         gcc hello.c -o hello math.o  
  3. math.o:math.c math.h  
  4.         gcc -c math.c 

然後執行make命令,就會編譯源文件,我們運行生成的可執行文件./hello,就會提示輸入數字,輸入數字後會輸出階乘的值。

  1. root@ubuntu:~/src# make  
  2. gcc -c math.c  
  3. gcc hello.c -o hello math.o  
  4. root@ubuntu:~/src# ./hello  
  5. please input number:5  
  6. sum=41 
  7. root@ubuntu:~/src#  

小結

搭好了環境,熟悉了apt-get,gcc,makefile,vim,Linux基本命令後就可以按著K&R的書多多練習編寫C程序了。

參考鏈接

Eclipse CDT

http://www.eclipse.org/cdt/

JEOS

http://www.ubuntu.com/server/features/virtualisation

基於Ubuntu Jeos打造自己的精簡版Linux服務器

http://www.yanjiuyanjiu.com/2010/04/14/ubuntu-jeos/

蛙蛙推薦:蛙蛙教你配置Linux+mysql+.net環境

http://www.cnblogs.com/onlytiancai/archive/2008/12/25/1362623.html

如何使用gcc編譯器?

http://Linux.chinaunix.net/doc/2004-10-05/22.shtml

VIM用戶手冊7.2中文版PDF

http://bbs.Linuxpk.com/thread-33846-1-1.html
vi/vim使用進階: 目錄
http://easwy.com/blog/archives/advanced-vim-skills-catalog/
Vim(gvim)配色方案推薦
http://www.vimer.cn/2009/10/vim%E9%85%8D%E8%89%B2%E6%8E%A8%E8%8D%90.html
讓vim在終端下的配色亮起來!
http://www.vimer.cn/2010/02/%E8%AE%A9vim%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%8B%E7%9A%84%E9%85%8D%E8%89%B2%E4%BA%AE%E8%B5%B7%E6%9D%A5%EF%BC%81.html
我最愛的編輯器->VIM配置插件篇)
http://www.lisunlou.com/archives/269
SSH Secure Shell Client 下使vim語法高亮顯示
http://www.uddtm.com/server/openssh/SSH_Secure_Shell_Client_xiashivimyufagaoliangxianshi.php
進行有效編輯的七種習慣-zz
http://www.newsmth.net/bbscon.php?bid=731&id=353

K&R的《C程序設計語言第2版·新版)》

http://product.dangdang.com/product.aspx?product_id=8766529&ref=search-1-pub

How to Write makefile.pdf中文版)
http://ishare.iask.sina.com.cn/f/8946939.html?retcode=6102

原文標題:蛙蛙推薦:Linux下的C開發環境搭建小節

鏈接:http://www.cnblogs.com/onlytiancai/archive/2010/09/13/build_linux_c_dev_env.html

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