欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
cygwin的安裝,vi的使用,gcc,g 的使用 - GoNews:離線(xiàn)新聞閱讀 - ...
cygwin的安裝,vi的使用,gcc,g++的使用  
  

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

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

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

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

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

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

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

  step4. 點(diǎn)下一步,安裝成功。它會(huì )自動(dòng)在你的桌面上建立一個(gè)快捷方式。

 

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

由于linux下面的命令大多都有很多參數,可以組合使用。所以,每當你不會(huì )或者記不清楚改用那個(gè)參數,那個(gè)開(kāi)關(guān)的時(shí)候,可以用man來(lái)查找,比如,我想查找ls怎么使用,可以鍵入
$  man ls
系統回顯信息如下:
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
:
很全是吧,嘿嘿。

好了,多說(shuō)無(wú)意,讓我們來(lái)寫(xiě)一個(gè)hello world程序。
# cd
  進(jìn)入了/home/administrator目錄,我當前的登陸賬號是administrator

# mkdir source
  建立一個(gè)叫做source的子目錄

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

# vim hello.c

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

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

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

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

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

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

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

 

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

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Linux中VI的使用
linux系統使用
下載 安裝 Cygwin 詳細過(guò)程
【Linux】alias及設置
如何在Windows上建立arm-linux開(kāi)發(fā)環(huán)境
Vi和Vim有什么區別?Linux學(xué)習
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久