• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            doing5552

            記錄每日點滴,不枉人生一世

              C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
              73 Posts :: 0 Stories :: 94 Comments :: 0 Trackbacks

            公告

            常用鏈接

            留言簿(24)

            我參與的團隊

            最新隨筆

            搜索

            •  

            積分與排名

            • 積分 - 455715
            • 排名 - 49

            最新隨筆

            最新評論

            • 1.?re: OpenGL入門學習
            • @三胖子
              我也遇到了那個問題,能否請教一下是怎么解決的
            • --喻馨
            • 2.?re: OpenGL入門學習
            • @zhuxiangfeicool
              樓主那個設(shè)置確實什么都看不到,按您的設(shè)置,能顯示
            • --三胖子

            閱讀排行榜

            評論排行榜

            cygwin的安裝和簡單配置
            rickyice 發(fā)表于 2009-4-24 12:24:00

            1
            windows和linux各有其優(yōu)越性,可以安裝在同一臺電腦上,裝雙系統(tǒng)要重啟轉(zhuǎn)換麻煩,安裝虛擬機也需要配置很多東西。cygwin,它可以讓你在win下?lián)碛衛(wèi)inux開發(fā)環(huán)境,并且不用切換。cygwin是一個在windows平臺上運行的unix模擬環(huán)境,是cygnus solutions公司開發(fā)的自由軟件(該公司開發(fā)了很多好東西,著名的還有eCos,不過現(xiàn)已被Redhat收購)。它對于學習unix/linux操作環(huán)境,或者從unix到windows的應(yīng)用程序移植,或者進行某些特殊的開發(fā)工作,尤其是使用gnu工具集在windows上進行嵌入式系統(tǒng)開發(fā),非常有用。

            機理
            cygnus當初首先把gcc,gdb,gas等開發(fā)工具進行了改進,使他們能夠生成并解釋win32的目標文件。然后,他們要把這些工具移植到windows平臺上去。一種方案是基于win32 api對這些工具的源代碼進行大幅修改,這樣做顯然需要大量工作。因此,他們采取了一種不同的方法——他們寫了一個共享庫(就是cygwin dll),把win32 api中沒有的unix風格的調(diào)用(如fork,spawn,signals,select,sockets等)封裝在里面,也就是說,他們基于win32 api寫了一個unix系統(tǒng)庫的模擬層。這樣,只要把這些工具的源代碼和這個共享庫連接到一起,就可以使用unix主機上的交叉編譯器來生成可以在windows平臺上運行的工具集。以這些移植到windows平臺上的開發(fā)工具為基礎(chǔ),cygnus又逐步把其他的工具(幾乎不需要對源代碼進行修改,只需要修改他們的配置腳本)軟件移植到windows上來。這樣,在windows平臺上運行bash和開發(fā)工具、用戶工具,感覺好像在unix上工作。

            安裝

            首先到http://www.cygwin.com下載setup.exe,接著建立安裝目錄,如X:\cygwin,將setup.exe放到此目錄,

            BEGIN-> 點擊setup.exe,Next->選Install from Internet,Next->填寫Root Directory,如X:\cygwin,Next->填寫Local Package Directory,如X:\cygwin\ftp,Next->

            選Direct Connection,Next->

            選一個較快的ftp,Next->

            到了關(guān)鍵步驟,如果僅想安裝基本系統(tǒng),直接Next;如果想完全安裝,點擊 All旁邊的旋轉(zhuǎn)狀圖標,將Default切換至Install;如果和我一 樣,僅想在命令行下寫寫程序,則只要將 gcc、make等開發(fā)工具選上,還有openssh等;選好后,Next->

            開始下載,Take a coffee break。回來后,Next->

            選擇需不需要創(chuàng)建快捷方式。->END

            附教育網(wǎng)下如何下載和安裝cygwin http://blog.chinaunix.net/u1/39359/showart_306196.html


            點擊快捷方式或X:\cygwin\cygwin.bat打開控制臺,如果是域用戶,按照提示makepasswd和makegroup即可。

            環(huán)境變量

            開始運行bash之前,應(yīng)該設(shè)置一些環(huán)境變量。cygwin提供了一個.bat文件,里面已經(jīng)設(shè)置好了最重要的環(huán)境變量。通過它來啟動bash是最安全的辦法。這個.bat文件安裝在cygwin所在的根目錄下。可以隨意編輯該文件。
            CYGWIN變量用來針對cygwin運行時系統(tǒng)進行多種全局設(shè)置。開始時,可以不設(shè)置CYGWIN或者在執(zhí)行bash前用類似下面的格式在dos框下把它設(shè)為tty
            C:\> set CYGWIN=tty notitle glob

            PATH變量被cygwin應(yīng)用程序作為搜索可知性文件的路徑列表。當一個cygwin進程啟動時,該變量被從windows格式(e.g. C:\WinNT\system32;C:\WinNT)轉(zhuǎn)換成unix格式(e.g., /WinNT/system32:/WinNT)。如果想在不運行bash的時候也能夠使用cygwin工具集,PATH起碼應(yīng)該包含x:\cygwin\bin,其中x:\cygwin 是你的系統(tǒng)中的cygwin目錄。
            HOME變量用來指定主目錄,推薦在執(zhí)行bash前定義該變量。當cygwin進程啟動時,該變量也被從windows格式轉(zhuǎn)換成unix格式,例如,作者的機器上HOME的值為C:\(dos命令set HOME就可以看到他的值,set HOME=XXX可以進行設(shè)置),在bash中用echo $HOME看,其值為/cygdrive/c.
            TERM變量指定終端型態(tài)。如果美對它進行設(shè)置,它將自動設(shè)為cygwin。
            LD_LIBRARY_PATH被cygwin函數(shù)dlopen()作為搜索.dll文件的路徑列表,該變量也被從windows格式轉(zhuǎn)換成unix格式。多數(shù)Cygwin應(yīng)用程序不使用dlopen,因而不需要該變量。

            改變cygwin的最大存儲容量
            Cygwin程序缺省可以分配的內(nèi)存不超過384 MB(program+data)。多數(shù)情況下不需要修改這個限制。然而,如果需要更多實際或虛擬內(nèi)存,應(yīng)該修改注冊表的HKEY_LOCAL_MACHINE或HKEY_CURRENT_USER區(qū)段。田家一個DWORD鍵heap_chunk_in_mb并把它的值設(shè)為需要的內(nèi)存限制,單位是十進制MB。也可以用cygwin中的regtool完成該設(shè)置。例子如下:
            regtool -i set /HKLM/Software/Cygnus\ Solutions/Cygwin/heap_chunk_in_mb 1024
            regtool -v list /HKLM/Software/Cygnus\ Solutions/Cygwin

            使用

            映射路徑名
            cygwin同時支持win32和posix風格的路徑,路徑分隔符可以是正斜杠也可以是反斜杠。還支持UNC路徑名。(在網(wǎng)絡(luò)中,UNC是一種確定文件位置的方法,使用這種方法用戶可以不關(guān)心存儲設(shè)備的物理位置,方便了用戶使用。在Windows操作系統(tǒng),Novell Netware和其它操作系統(tǒng)中,都已經(jīng)使用了這種規(guī)范以取代本地命名系統(tǒng)。在UNC中,我們不用關(guān)心文件在什么盤(或卷)上,不用關(guān)心這個盤(或卷)所在服務(wù)器在什么地方。我們只要以下面格式就可以訪問文件:
            \\服務(wù)器名\共享名\路徑\文件名
            共享名有時也被稱為文件所在卷或存儲設(shè)備的邏輯標識,但使用它的目的是讓用戶不必關(guān)心這些卷或存儲設(shè)備所在的物理位置。)
            符合posix標準的操作系統(tǒng)(如linux)沒有盤符的概念。所有的絕對路徑都以一個斜杠開始,而不是盤符(如c:)。所有的文件系統(tǒng)都是其中的子目錄。例如,兩個硬盤,其中之一為根,另一個可能是在/disk2路徑下。
            因為許多unix系統(tǒng)上的程序假定存在單一的posix文件系統(tǒng)結(jié)構(gòu),所以cygwin專門維護了一個針對win32文件系統(tǒng)的內(nèi)部posix視圖,使這些程序可以在windows下正確運行。在某些必要的情況下,cygwin會使用這種映射來進行win32和posix路徑之間的轉(zhuǎn)換。
            cygwin mount表
            cygwin中的mount程序用來把win32盤符和網(wǎng)絡(luò)共享路徑映射到cygwin的內(nèi)部posix目錄樹。這是與典型unix mount程序相似的概念。對于那些對unix不熟悉而具有windows背景的的人來說,mount程序和早期的dos命令join非常相似,就是把一個盤符作為其他路徑的子目錄。
            路徑映射信息存放在當前用戶的cygwin mount表中,這個mount table 又在windows的注冊表中。這樣,當該用戶下一次登錄進來時,這些信息又從注冊表中取出。mount 表分為兩種,除了每個用戶特定的表,還有系統(tǒng)范圍的mount表,每個cygwin用戶的安裝表都繼承自系統(tǒng)表。系統(tǒng)表只能由擁有合適權(quán)限的用戶(windows nt的管理員)修改。
            當前用戶的mount表可以在注冊表"HKEY_CURRENT_USER/Software/Red Hat, Inc./Cygwin/mounts v" 下看到。系統(tǒng)表存在HKEY_LOCAL_MACHINE下。
            posix根路徑/缺省指向系統(tǒng)分區(qū),但是可以使用mount命令重新指向到windows文件系統(tǒng)中的任何路徑。cygwin從win32路徑生成posix路徑時,總是使用mount表中最長的前綴。例如如果c:被同時安裝在/c和/,cygwin將把C:/foo/bar轉(zhuǎn)換成/c/foo/bar.
            如果不加任何參數(shù)地調(diào)用mount命令,會把Cygwin當前安裝點集合全部列出。在下面的例子中,c盤是POSIX根,而d盤被映射到/d。本例中,根是一個系統(tǒng)范圍的安裝點,它對所有用戶都是可見的,而/d僅對當前用戶可見。
            c:\> mount
            f:\cygwin\bin on /usr/bin type system (binmode)
            f:\cygwin\lib on /usr/lib type system (binmode)
            f:\cygwin on / type system (binmode)
            e:\src on /usr/src type system (binmode)
            c: on /cygdrive/c type user (binmode,noumount)
            e: on /cygdrive/e type user (binmode,noumount)
            還可以使用mount命令增加新的安裝點,用umount刪除安裝點。
            當Cygwin不能根據(jù)已有的安裝點把某個win32路徑轉(zhuǎn)化為posix路徑時,cygwin會自動把它轉(zhuǎn)化到一個處于缺省posix路徑/cygdrive下的的一個安裝點. 例如,如果Cygwin 訪問Z:\foo,而Z盤當前不在安裝表內(nèi),那么Z:\將被自動轉(zhuǎn)化成/cygdrive/Z.
            可以給每個安裝點賦予特殊的屬性。自動安裝的分區(qū)顯示為“auto”安裝。安裝點還可以選擇是"textmode"還是 "binmode",這個屬性決定了文本文件和二進制文件是否按同樣的方式處理。
            其他路徑相關(guān)信息
            cygpath工具提供了在shell腳本中進行win32-posix路徑格式轉(zhuǎn)換的能力。
            HOME, PATH,和LD_LIBRARY_PATH環(huán)境變量會在cygwin進程啟動時自動被從Win32格式轉(zhuǎn)換成了POSIX格式(例如,如果存在從該win32路徑到posix路徑的安裝,會把c:\cygwin\bin轉(zhuǎn)為/bin)。

            ssh的安裝

            cygwin自帶的控制臺可調(diào)參數(shù)很少,舒適度較低。有沒有辦法用熟悉的PuTTY或SecureCRT來操控cygwin呢?辦法有二:

            1、用PuTTYcyg。地址是http://gecko.gc.maricopa.edu/~medgar/puttycyg/。用法很簡單,在配置對話框中,host name填 - 即可。Cygwin Bash Shell能做的,PuTTYcyg基本上都能實現(xiàn),本地操作的話,極力推薦這款好軟件

            2、安裝sshd,本機登陸。如果忘了安裝OpenSSH,點擊setup.exe,選上OpenSSH,再裝一次即可。如果已安裝,按照下面的操作繼續(xù):

            a、右鍵“我的電腦”->屬性->高級->環(huán)境變量,在系統(tǒng)環(huán)境變量里添加變量CYGWIN,值為netsec tty,然后在Path里追加X:\cygwin\binb、打開cygwin控制臺,輸入ssh-host-config,一路yes,提示 CYGWIN值時,輸入netsec ttyc、啟動sshd服務(wù)用: net start sshd 或 cygrunsrv –start sshd; 停止sshd服務(wù)用:net stop sshd 或 cygrunsrv –stop sshdd、用ssh yourname@127.0.0.1 或 ssh localhost登陸

            e、還可以繼續(xù)安裝配置sftp、scp等,詳細參考: How to install OpenSSH sshd server and sftp server

            f、每次輸入密碼登陸太麻煩,可以用key驗證: 用puttygen.exe生存密鑰對,在~/下,建立.ssh目錄,創(chuàng)建authorized_keys2文件,將公鑰復(fù)制到這個文件,然后在 putty里指定私鑰登陸,一勞永逸。

            vim的簡單配置

            將\usr\share\vim\vim64目錄下的vimrc_example.vim復(fù)制到~/,重命名為_vimrc, 按照自己的喜好修改里面的配置即可,如打開高亮,選擇喜歡的colorscheme

            cygwin的中文顯示和輸入

            讓bash命令行支持中文輸入,vi ~/.inputrc,將下面幾行的注釋去掉:

            set meta-flag on
            set convert-meta off
            set input-meta on
            set output-meta on

            讓ls命令支持中文顯示,vi ~\.bashrc中,修改:
            alias ls=’ls -hF –show-control-chars –color=tty’
            vim64的話,已經(jīng)支持中文輸入。

            sdcv的安裝配置

            坐在電腦前久了,屏幕太亮,輻射大,對身體不好。能不能在全黑的命名行模式下工作和學習呢?putty可以很好的全屏幕顯示,sdcv則可以讓你在命令行模式查找單詞。

            posted on 2009-12-04 11:23 doing5552 閱讀(667) 評論(0)  編輯 收藏 引用
            久久永久免费人妻精品下载| 亚洲国产精品成人AV无码久久综合影院 | 久久久久久久综合狠狠综合| 久久99国产精品成人欧美| 欧美日韩中文字幕久久伊人| 久久精品国产99久久香蕉| 久久免费视频1| 久久被窝电影亚洲爽爽爽| 国内精品伊人久久久久妇| 亚洲精品午夜国产VA久久成人| 国产精品美女久久久久久2018| 青青国产成人久久91网| 午夜久久久久久禁播电影| 久久WWW免费人成—看片| 国产91久久精品一区二区| 久久久亚洲裙底偷窥综合| 国产午夜精品久久久久九九电影 | 久久综合给合久久狠狠狠97色69| 精品久久人妻av中文字幕| 久久精品国产亚洲AV香蕉| 怡红院日本一道日本久久| 国产成人综合久久综合| 久久精品国产久精国产思思| 久久精品国产亚洲AV无码麻豆 | 色综合久久88色综合天天 | 999久久久免费国产精品播放| 日本精品久久久中文字幕| 国产精品久久久久aaaa| 久久久青草青青亚洲国产免观| 国产日韩久久免费影院| 精品久久久久国产免费| 伊人久久大香线蕉综合影院首页| 青青草原综合久久大伊人| 久久婷婷五月综合国产尤物app| 久久精品人成免费| 久久国产热这里只有精品| 亚洲精品乱码久久久久久久久久久久| 久久国产亚洲高清观看| 无夜精品久久久久久| 久久国产成人午夜AV影院| 一本久久a久久精品亚洲|