久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

cygwin的安裝,vi的使用,gcc,g 的使用 - GoNews:離線新聞閱讀 - ...

 key159 2007-11-22
cygwin的安裝,vi的使用,gcc,g++的使用     CSDN Blog推出文章指數(shù)概念,,文章指數(shù)是對Blog文章綜合評分后推算出的,綜合評分項分別是該文章的點擊量,,回復(fù)次數(shù),,被網(wǎng)摘收錄數(shù)量,文章長度和文章類型,;滿分100,,每月更新一次。

從windows到linux -- 編程篇 -- cygwin,在win中開發(fā)linux程序
    乾坤一笑[smileonce]    [email protected]   2004-7-23
    版權(quán)所有 轉(zhuǎn)載請注明出處  http://blog.csdn.net/smileonce

    很多用windows的朋友不習(xí)慣于用linux的開發(fā)環(huán)境,。雖然很樂意嘗試一下,,但是往往怕linux系統(tǒng)打亂了自己的正常生活:1〉裝linux系統(tǒng) 把windows系統(tǒng)給搞壞了,導(dǎo)致自己無法正常生活,;2>linux開發(fā)上手太難,,寫出第一個helloworld不亞于java的難度,環(huán)境配 置摸不著頭腦,。對于此,,我的看法是:路不管平還是陡,終歸你要走的,,如果你愿意投入到linux開發(fā)的社群中來,,不會安裝linux系統(tǒng),不會配置工作環(huán) 境是不能想象的,。(事實上,,確實要了解很多東西的原理,不然很難排錯:諸如,,硬盤引導(dǎo)器的引導(dǎo)原理,、分區(qū)結(jié)構(gòu)原理及l(fā)inux分區(qū)結(jié)構(gòu)和文件系統(tǒng)、環(huán)境變 量的設(shè)置,、種類繁多的壓縮包安裝包的解壓安裝方法,、用戶管理權(quán)限管理等常用命令、以至于驅(qū)動安裝系統(tǒng)中文化等等異?,嵥榈臇|東),。

本文試圖跳過這個難走的步驟,啟用一個win環(huán)境下的linux仿真器(和linux下面的命令行開發(fā)環(huán)境基本一致),,用短短的20分鐘的時間,,教你做出 一個純正的linux下gcc編譯的helloworld。就象是買點心前先嘗嘗味道,,不也是一件很愉快的事情么,?(注:cygwin事實上不僅有此模擬 功能,,它也是移植unix<-->win程序的一個很有效的工具,也有人用它來做嵌入式系統(tǒng)開發(fā))

一,、cygwin是什么,?
   這個問題你最好google一下"cygwin的歷史",或許能夠獲得更為詳盡的答案。簡而言之,,cygwin是一個在windows平臺上運行的 linux模擬環(huán)境,,是cygnus solutions公司開發(fā)的自由軟件(該公司開發(fā)了很多好東西,著名的還有eCos,,不過現(xiàn)已被Redhat收購),。插一句廢話,很多朋友不明白 linux和unix的區(qū)別和聯(lián)系,,在此也簡要介紹一下,。UNIX是一個注冊商標(biāo),是要滿足一大堆條件并且支付可觀費用才能夠被授權(quán)使用的一個操作系統(tǒng); linux是unix的克隆版本,,是由其創(chuàng)始人Linus和諸多世界知名的黑客手工打造的一個操作系統(tǒng),。為什么linux和unix之間有很多軟件可以很輕松的移植?因為linux也滿足POSIX規(guī)范,所以在運行機制上跟unix相近,。  
   以下引用網(wǎng)上的一段話(出處:http://blog.csdn.net/glock18/archive/2004/07/10/38275.aspx),
用于說明cygwin的工作機制:cygnus當(dāng)初首先把gcc,,gdb,,gas等開發(fā)工具進(jìn)行了改進(jìn),使他們能夠生成并解釋win32的目標(biāo)文件,。然 后,,他們要把這些工具移植到windows平臺上去。一種方案是基于win32 api對這些工具的源代碼進(jìn)行大幅修改,,這樣做顯然需要大量工作,。因此,他們采取了一種不同的方法——他們寫了一個共享庫(就是cygwin dll),,把win32 api中沒有的unix風(fēng)格的調(diào)用(如fork,spawn,signals,select,sockets等)封裝在里面,,也就是說,他們基于 win32 api寫了一個unix系統(tǒng)庫的模擬層,。這樣,,只要把這些工具的源代碼和這個共享庫連接到一起,就可以使用unix主機上的交叉編譯器來生成可以在 windows平臺上運行的工具集,。以這些移植到windows平臺上的開發(fā)工具為基礎(chǔ),,cygnus又逐步把其他的工具(幾乎不需要對源代碼進(jìn)行修改, 只需要修改他們的配置腳本)軟件移植到windows上來,。這樣,,在windows平臺上運行bash和開發(fā)工具,、用戶工具,感覺好像在unix上工作。 關(guān)于cygwin實現(xiàn)的更詳細(xì)描述,,請參考http:///cygwin-ug-net/highlights.html

二,、cygwin的安裝。
  cygwin的安裝文件很容易通過google找到,。目前國內(nèi)的網(wǎng)站上有"網(wǎng)絡(luò)安裝版"和"本地安裝版"兩種。標(biāo)準(zhǔn)的發(fā)行版應(yīng)該是  網(wǎng)絡(luò)安裝版,。兩者并無大不同,,下面介紹一下安裝的過程。

  step1. 下載后,,點擊安裝文件(setup.exe)進(jìn)行安裝,,第一個畫面是GNU版權(quán)說明,點"下一步(N)—>",,
進(jìn)入安裝模式選擇畫面,。

  step2. 安裝模式有"Install from Internet"、"Download form Internet",、
"Install from Local Directory" 三種,。"Install form Internet"就是直接從internet上裝,適用于網(wǎng)速較快的情況,。如果你和我一樣網(wǎng)速不是很快,,或者說裝過之后想把下載的安裝文件保存起來,下次不再下載了直接安裝,,就應(yīng)該選擇"Download form Internet",,下載安裝的文件(大約40M左右)。
事實上,,所謂的"本地安裝版",,也是別人從網(wǎng)上下載全部文件后打的包(適用于中國國情嘛^_^)
 
  step3. 接下來是選擇安裝目的路徑和安裝源文件所在的路徑,之后就進(jìn)入了選擇安裝包所在的路徑,。
注意了阿,,這里可是重頭戲。我第一安裝的時候就是沒有看清這一步,,結(jié)果沒有把gcc裝進(jìn)去,,導(dǎo)致沒法編譯文件。
   + All  Default
      + Admin Default
       ....
      + Devel   Default
      + Editors Default
      ....
如上圖所示,,你在這個TreeView的某個節(jié)點上雙擊,,就可以改變它的狀態(tài),如Default,、Install,、Uninstall,、Reinstall四種狀態(tài)。默認(rèn)的都是Default狀態(tài),,很多工具的默認(rèn)狀態(tài)都是不安裝,。
在這里我選擇了在All這一行上后面的Default上點Install,全部安裝,,以免后患,。(注意:這里的樹形控件和win下面的不同,你試試點在All上點 和 在All這一行后面的Default上點,,會有不同的響應(yīng))

  step4. 點下一步,,安裝成功。它會自動在你的桌面上建立一個快捷方式,。

 

  好了,,下面就開始我的linux旅程了。雙擊cygwin的快捷方式進(jìn)入系統(tǒng),。
首先介紹幾個簡單的linux命令,。
pwd   顯示當(dāng)前的路徑
cd    改變當(dāng)前路徑,無參數(shù)時進(jìn)入對應(yīng)用戶的home目錄
ls    列出當(dāng)前目錄下的文件,。此命令有N多參數(shù),,比如ls -al
ps    列出當(dāng)前系統(tǒng)進(jìn)程
kill  殺死某個進(jìn)程
mkdir 建立目錄
rmdir 刪除目錄
rm    刪除文件
mv    文件改名或目錄改名
man   聯(lián)機幫助
less  顯示文件的最末幾行

由于linux下面的命令大多都有很多參數(shù),可以組合使用,。所以,,每當(dāng)你不會或者記不清楚改用那個參數(shù),那個開關(guān)的時候,,可以用man來查找,比如,,我想查找ls怎么使用,,可以鍵入
$  man ls
系統(tǒng)回顯信息如下:
LS(1)                          FSF                          LS(1)
NAME
       ls - list directory contents
SYNOPSIS
       ls [OPTION]... [FILE]...
DESCRIPTION
       List information about the FILEs (the current directory by
       default).  Sort entries alphabetically if none of -cftuSUX
       nor --sort.
       -a, --all
             do not hide entries starting with .
       -A, --almost-all
             do not list implied . and ..
       -b, --escape
             print octal escapes for nongraphic characters
       --block-size=SIZE
             use SIZE-byte blocks
:
很全是吧,嘿嘿,。

好了,,多說無意,讓我們來寫一個hello world程序,。
# cd
  進(jìn)入了/home/administrator目錄,,我當(dāng)前的登陸賬號是administrator

# mkdir source
  建立一個叫做source的子目錄

# cd source
  進(jìn)入 /home/administrator/source

# vim hello.c

   啟動vim編輯器,來編寫程序,。好了,,現(xiàn)在有必要簡要介紹一下vim。
在linux界,,有兩大編輯器最有歷史,。其一是vi,,其二是emacs。vi現(xiàn)在已經(jīng)演化成了vim,,比當(dāng)前的vi更為強大,。vim和emacs是兩種截然不同的東西,vim強調(diào)用簡潔的命令來完成功能,,無論是查找,、替換、
正則表達(dá)式匹配,、編譯,、鏈接、排錯,、函數(shù)間跳轉(zhuǎn)等等等等都在命令行中完成,,并且它把方向鍵也集成在了hjkl四個鍵之上,可以說,,用了vim基本上可以不用鼠標(biāo)了:p  emacs則是在功能強大上做文章,,版本控制、模擬多種編輯環(huán)境,、對文本進(jìn)行各種操作,,可謂之一個強大的文本處理系統(tǒng)。emacs是用諸如Ctrl+ Alt+K 之類的組合鍵來控制的,;vim則是用se(set 的縮寫)等簡潔命令來控制的,。
   由于cygwin中只提供了vim(能不能自己裝emacs我還沒有試過),我們就先體驗一下vim吧:p
vim加載文本文件后分為命令模式和插入模式兩種,。插入模式,,顧名思義就是輸入編輯文本;命令模式,,則是輸入各種vim的控制命令,,常用的有:
   i  進(jìn)入編輯模式
   h  左移
   j  下移
   k  上移
   l  右移
   w  存盤
   q  退出
   ! 強調(diào)執(zhí)行

有些命令是可以組合使用的,,如果你修改了某個文件,,想存盤退出,則可以使用wq,;如果你想放棄存盤,,直接退出則可以使用q!  好了大家體驗一下吧,記?。簭木庉嬆J酵嘶孛钅J桨?Esc",,再按":",在輸入指令,從命令模式進(jìn)入編輯模式用i,,初次使用vim肯定很難受,,嘿嘿,不過用多了就習(xí)慣了,,確實很省勁,。

我們編輯hello.c文件,輸入:
#include

int main(void) {
  printf( "Hello World!");
}
然后,,輸入wq命令退到命令行,。
輸入編譯指令:
# gcc hello.c -o hello
編譯成功后可以看一下
# ls
看到hello.exe了吧,嘿嘿,。
好,,讓我們運行看看。
# ./hello
效果如何,?不錯吧,? :)

okey,現(xiàn)在玩一個C++的hello world,,
# vim world.cpp
輸入:
#include
using namespace std;

void main() {
  cout << "Hello World!";
}
編譯C++程序要用g++
# g++ world.cpp -o world
運行一下哈,,
# ./world

如何,效果不錯吧,?諸位都是高手,,走到這步應(yīng)該編些簡單程序都不成問題了吧:p
好了,關(guān)于如何編寫makefile文件,,如何用gdb下次再說了,。  

 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1516984

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多