• <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>

            2013年1月29日

            matlab 最臨近插值

            function Io = imageNearest(Ii,dw,dh)
            %%% function: image enlarge or zoom out with nearest interpolation
            %%% Para: Ii - input gray image
            %%% dw - scaling for width
            %%% dh - scaling for height

            [h, w] = size(Ii);
            wo = w*dw;
            ho = h*dh;
            I_indexW = 1:wo;
            I_indexW = I_indexW/dw;
            I_indexW = floor(I_indexW+0.5);

            I_indexH = 1:ho;
            I_indexH = I_indexH';
            I_indexH = I_indexH/dh;
            I_indexH = floor(I_indexH+0.5);

            Io = Ii(I_indexH,I_indexW);

            posted @ 2013-01-29 11:30 鐘謝偉 閱讀(552) | 評論 (0)編輯 收藏

            2012年10月18日

            SDL 入門

            http://blog.csdn.net/lf426/article/category/364048/2

            posted @ 2012-10-18 22:28 鐘謝偉 閱讀(314) | 評論 (0)編輯 收藏

            2012年10月15日

            采用TL-WR703N搭建校園網(wǎng)接入點(diǎn)

            1. 將自己的電腦的本地連接屬性中的ip地址設(shè)置為192.168.1.2,掩碼設(shè)置為255.255.255.0,網(wǎng)關(guān)設(shè)置為192.168.1.1
            2. 將wr703n用網(wǎng)線鏈接到電腦上
            3. 瀏覽器中進(jìn)入192.168.1.1,然后使用固件openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin升級路由器
            4. 下載安裝兩個(gè)軟件,WinSCP(用于路由器與本地電腦之間的文件傳輸)、SecureCRT(SSH登入器)
            5. 固件升級完之后重啟路由器,使用WinSCP連接進(jìn)入路由器
            6. 修改文件
             文件:/etc/config/wireless
            修改為:
            config wifi-device 'radio0'
                     option type 'mac80211'
                     option channel '3'
                     option macaddr '14:e6:e4:e7:c6:a2'
                     option hwmode '11ng'
                     option htmode 'HT20'
                     list ht_capab 'SHORT-GI-20'
                     list ht_capab 'SHORT-GI-40'
                     list ht_capab 'RX-STBC1'
                     list ht_capab 'DSSS_CCK-40'
                     option disabled '0'
                     option txpower '27'
                     option country 'US'

            config wifi-iface
                     option device 'radio0'
                     option network 'lan'
                     option mode 'ap'
                     option ssid '這里填無線網(wǎng)的名稱英文'
                     option encryption 'psk2'
                     option key '這里寫密碼八位'

            文件:/etc/config/network
            如果采用靜態(tài)網(wǎng)址就修改為:
            config interface 'loopback'
                     option ifname 'lo'
                     option proto 'static'
                     option ipaddr '127.0.0.1'
                     option netmask '255.0.0.0'

            config interface 'wan'
                     option ifname 'eth0'
                     option _orig_ifname 'eth0'
                     option _orig_bridge 'false'
                     option proto 'static'
                     option ipaddr '這里寫你的靜態(tài)IP'
                     option netmask '寫子網(wǎng)掩碼'
                     option gateway '寫網(wǎng)關(guān)'
                     option dns '寫DNS'

            config interface 'lan'
                     option type 'bridge'
                     option proto 'static'
                     option ipaddr '192.168.1.1'
                     option netmask '255.255.255.0'

            文件:/etc/config/network
            如果是自動獲取IP方式就修改為:
            config interface 'loopback'
                     option ifname 'lo'
                     option proto 'static'
                     option ipaddr '127.0.0.1'
                     option netmask '255.0.0.0'

            config interface 'wan'
                     option ifname 'eth0'
                     option _orig_ifname 'eth0'
                     option _orig_bridge 'false'
                     option proto 'dhcp'

            config interface 'lan'
                     option type 'bridge'
                     option proto 'static'
                     option ipaddr '192.168.1.1'
                     option netmask '255.255.255.0' 
            7. 將鏈接http://code.google.com/p/mentohust/issues/detail?id=175中的40K的mentohust下載復(fù)制到/usr/bin中,并通過chmod 755 mentohust命令對mentohust的文件屬性進(jìn)行更改
            8. 可以在/root/下建立runHust.sh的shell文件
            文件:runHust.sh
            內(nèi)容:
            #! /bin/ash
            mentohust -u***** -p**** -i***** -m***** -g*** -d0 -b0 -a1
            9. 將路由器連接到校園網(wǎng)的網(wǎng)線接口上運(yùn)行SecureCRT,執(zhí)行ash runHust.sh就能夠進(jìn)行聯(lián)網(wǎng)
            10. 連網(wǎng)期間不能夠中斷SecureCRT軟件
            (有其它方式,請補(bǔ)充)

            posted @ 2012-10-15 20:38 鐘謝偉 閱讀(1813) | 評論 (3)編輯 收藏

            2012年8月1日

            [轉(zhuǎn)]折疊::Vim進(jìn)階索引[2]

            http://blah.blogsome.com/2006/04/13/vim_tut_folding/#g_t_00ca_00b5_00c0_00fd_00d1_00dd_00ca_00be
            講解的清楚明了,值得一看

            posted @ 2012-08-01 11:10 鐘謝偉 閱讀(938) | 評論 (0)編輯 收藏

            2012年7月31日

            vim 非貪婪匹配

            嘗試自己實(shí)現(xiàn)高亮,采用match的方式
            paper.vim
            syn match m1 "\!.*?\!"
            hi m1 guifg=red
            首先嘗試了這樣的方式,上述的正則表達(dá)式在
            http://regexpal.com/
            中能能夠很好的實(shí)現(xiàn)
            但是在vim中卻失策了。
            找了半天終于找到了解決的辦法,改為如下的方式:
            syn match m1 "\!.\{-}\!"
            它在
            http://regexpal.com/
            無法識別。
            可見vim的正則表達(dá)式還是有所不同的,誒。

            posted @ 2012-07-31 15:59 鐘謝偉 閱讀(1055) | 評論 (0)編輯 收藏

            2012年7月28日

            [轉(zhuǎn)]CodeBlocks中文版使用手冊

            譯者:JGood(http://blog.csdn.net/Jgood )

                譯者言:工欲善其事,必先利其器。一個(gè)好的工具能事半功倍。寫程序時(shí),特別是寫C++程序,大部分人腦子里想到的第一個(gè)工具就是 VisualStudio。不可否認(rèn),VS很好很強(qiáng)大,用戶體驗(yàn)非常好。但VisualStudio也是有缺點(diǎn)的:它非常龐大;只支持VC,不支持其他的 編譯器;VS只能在windows下跑,在其他os上就無用武之地;VS是要錢的,而且費(fèi)用不非(Express版本免費(fèi))。Code::Blocks是 一個(gè)非常優(yōu)秀的工具,如果您正在尋找VisualStudio之外的,開源、免費(fèi)、輕便、支持多種編譯器、跨平臺的C/C++ IDE,那么Code::Blocks就是一個(gè)很好的選擇。

                說明:筆者打算用兩篇日志來完成對Code::Blocks手冊前二章的編譯,分別是:使用篇、插件篇。本文是第一篇:Code::Blocks使用篇 。原手冊第三章介紹Code::Blocks變量、腳本的使用,第四章介紹如何從源碼編譯Code::Blocks,這兩章內(nèi)容不是很多,筆者認(rèn)為對大部分用戶幫助不是不大,暫不打算翻譯。筆者使用的Code::Block版本是nightly builds,svn6088(可以在這個(gè)地址下載:http://forums.codeblocks.org/index.php/topic,11875.0.html )。使用的編譯器是GCC3.4.5。每個(gè)版本之間的使用可能會有細(xì)微的差別。因?yàn)樗接邢蓿y免出錯(cuò),歡迎指正!

            Code::Blocks:免費(fèi)、開源、跨平臺、功能強(qiáng)大的C/C++ IDE。

            Code::Blocks 手冊 Version 1.0

            感謝CodeBlocks項(xiàng)目組:

            Anders F. Bjorklund (afb), Biplab Kumar Modak (biplab), Bartomiej wiecki (byo), PaulA. Jimenez (ceniza), Koa Chong Gee (cyberkoa), Daniel Orb (daniel2000), Lieven de Cock(killerbot), Yiannis Mandravellos (mandrav), Mispunt (mispunt), Martin Halle (morten-macy), Jens Lody (jens), Jerome Antoine (dje), Damien Moore (dmoore), Pecan Heber(pecan), Ricardo Garcia (rickg22), Thomas Denk (thomasdenk), tiwag (tiwag)

            Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.

            1 CodeBlocks項(xiàng)目管理

                下圖是CodeBlocks運(yùn)行時(shí)的用戶界面:

            CodeBlocks運(yùn)行界面

            •     管理(Management):管理窗口包含Project視圖與Symbols視圖。Project視圖顯示當(dāng)前CodeBlocks打開的所有項(xiàng)目 (譯者注:類似與VS解決方案資源管理器);Symbols視圖顯示項(xiàng)目中的標(biāo)識符:類,函數(shù)、變量等信息(譯者注:類似與VS的類視圖)。
            •     代碼編輯器:支持代碼折疊,關(guān)鍵字高亮顯示。上圖main.cpp正在被編輯。
            •     打開文件列表:顯示當(dāng)前在代碼編輯器中打開的所有文件列表。上圖中打開的文件列表為:main.cpp, person.cpp, person.hpp
            •     代碼段(CodeSnippets):管理常用的代碼段、常用文件鏈接(links to files)與URL。可以通過菜單 View->CodeSnippets 來顯示該面板。
            •     日志和其他:這個(gè)窗口用于輸出日志信息,顯示查詢結(jié)果等等。
            •     狀態(tài)欄提供了以下這些信息:
            •         編輯器中打開文件的絕對路徑;
            •         文件的編碼類型;
            •         光標(biāo)所在的行與列;
            •         當(dāng)前的鍵盤模式(insert 或者 overwrite);
            •         當(dāng)前的文件狀態(tài)。被修改過的(但尚未保存)文件將被標(biāo)記為“modified”,否則這里為空;
            •         文件操作的權(quán)限。如果文件是只讀的,這里將會顯示“Read only”,在 Open files list中,該文件會使用一個(gè)加瑣的圖標(biāo)來顯示;
            •         個(gè)性化配置名稱;

                CodeBlocks提示了非常靈活和強(qiáng)大的項(xiàng)目管理功能。下文將介紹項(xiàng)目管理的一些常用功能。

            1.1 項(xiàng)目視圖(Project View)

            管理窗口

                在CodeBlocks中,Project的源文件(如C/C++的源文件及其對應(yīng)的頭文件)和編譯屬性設(shè)置信息都保存 在<name>.cbp文件里。可以通過菜單[File–>Project]啟動工程創(chuàng)建向?qū)韯?chuàng)建新的Project,然后通過管理 窗口的上下文菜單[Add files](譯者注:上下文菜單,指當(dāng)前窗口中選中目標(biāo)項(xiàng)目,然后右鍵顯示的菜單)向Project中添加文件。CodeBlocks會自動根據(jù)文件的 后綴將它們放入不同的類別文件夾中(譯者注:這個(gè)文件夾是虛擬的,實(shí)際并不存在)。下面是默認(rèn)的分類:

            •     Sources:包含源文件,后綴為*.c、*.cpp;
            •     ASM Sources:包括匯編源文件,后綴一般為*.s、*.S、*.ss、*.asm;
            •     Headers:包括頭文件,后綴一般為*.h、 *.hpp;
            •     Resources:包括資源文件,后綴一般為*.res、*.xrc;

                通過管理窗口的上下文菜單[Project tree –>Edit file types & categories],用戶可以新建自定義的文件類別,并為其相應(yīng)的后綴。例如,如果你希望*.ld的文件放到Linkerscript的分類里,你只需新建類別Linkerscript,并為它指定*.ld后綴即可。

                提示: 如果你取消選中管理窗口上下文菜單的[Project tree–>Categorize by file types]選項(xiàng),所有的項(xiàng)目文件將會按它們在文件系統(tǒng)中的位置來顯示。

            1.2 項(xiàng)目備注(Notes for Projects)

                可以給CodeBlocks項(xiàng)目添加一些備注,用于對項(xiàng)目進(jìn)行概要的描述與說明,這些信息有助于其他成員迅速的了解項(xiàng)目。備注信息被保存在項(xiàng)目工程文件里,并可以設(shè)置為隨著項(xiàng)目的啟動而顯示。如圖:

            設(shè)置項(xiàng)目備注信息

            1.3 項(xiàng)目模板

            項(xiàng)目模板

                CodeBlocks支持許多不同類型的項(xiàng)目模板,它們會在新建項(xiàng)目的時(shí)候顯示,創(chuàng)建新項(xiàng)目的時(shí)候往往從這些模板中選擇(如上圖:)。用戶可以自定義工程 模板。工程模板保存編譯器的類型、編譯選項(xiàng)、資源的配置等相關(guān)信息。項(xiàng)目模板保存在Documents andSettingsn\<user>\Application Data\codeblocks\UserTemplates目錄中。如果你希望該工程模板被本機(jī)的所有用戶使用,必須把對應(yīng)的模板文件拷貝到 CodeBlocks的安裝目錄。模板在CodeBlocks重啟之后生效,通過菜單[New->Project->User templates]就可以看到自定義的模板。

                提示: 用戶可以通過右鍵選中工程向?qū)е械哪0鍖ζ溥M(jìn)行編輯。如下圖:

            編輯模板

            1.4 從編譯模式創(chuàng)建項(xiàng)目(Create Projects from Build Targets)

                一個(gè)項(xiàng)目往往有不同的編譯模式,最常見的是Release和Debug。不同的編譯模式表示用于構(gòu)建當(dāng)前項(xiàng)目所使用的不同編譯器選項(xiàng)、調(diào)試信息或者依賴的 文件。每一種編譯模式都可以被保存成獨(dú)立的工程文件。通過上下文菜單[Project->Properties],在Build Targets標(biāo)簽中點(diǎn)擊“Create project from target”按鈕來生成對應(yīng)編譯模式的工程文件,如圖:

            編譯模式

            1.5 編譯模式(Virtual Targets)

                一個(gè)項(xiàng)目可以有多種不同的編譯模式,最常用的編譯模式為“Debug”和“Release”。“Debug”模式下會包含許多Debug信息,而 “Release”模式下沒有這些信息。也可以通過上下文菜單[Project->Properties->Build Targets]添加其他的編譯模式。編譯模式將顯示在工具欄中:

            編譯模式  

            1.6 預(yù)生成和生成后步驟 (Pre- and Postbuild setps)

                Code::blocks允許在項(xiàng)目生成前和生成后執(zhí)行額外的操作,這些操作分別被稱為預(yù)生成(Prebuilt)或生成后(Postbuilt)步驟。下面是典型的生成后步驟:(譯者注:筆者對低層的東西知道的不多,不是很清楚下面這些步驟的意思。)

                    Creating an Intel Hexformat from a nished object
                    Manipulating objects by objcopy
                    Generating dump les by objdump

            1.7 為構(gòu)建目標(biāo)添加腳本(Adding Scripts in Build Targets)

                Code::Blocks允許使用腳本來調(diào)用菜單命令,控制項(xiàng)目的生成。

                提示: 腳本可以被包含到一個(gè)構(gòu)建目標(biāo)(Build Target)中。

            1.8 解決方案(Workspace)與項(xiàng)目依賴

                CodeBlocks可以同時(shí)打開多個(gè)項(xiàng)目,通過菜單[File->Save workspace]把它們集成到一個(gè)解決方案中,并生成一個(gè)對應(yīng)的解決方案文件(<name>.workspace)。下次打開解析方案文件(<name>.workspace)時(shí),這些項(xiàng)目會被一起加載進(jìn)來。

                復(fù)雜的軟件系統(tǒng)通常由不同的模塊、組件以獨(dú)立的工程項(xiàng)目組成,它們之間往往存在依賴關(guān)系。

                例如:項(xiàng)目A以庫(library)的形式提供一些公用函數(shù)給其他項(xiàng)目調(diào)用,如果項(xiàng)目A中的源代碼被修改,這個(gè)庫就得重新編譯。項(xiàng)目B使用項(xiàng)目A中實(shí)現(xiàn)的 函數(shù),那么項(xiàng)目B就依賴項(xiàng)目A。CodeBlocks把這些項(xiàng)目依賴的信息保存到解決方案文件中,所以解決方案中的工程可以各自獨(dú)立的創(chuàng)建、編譯而不相互 影響(譯者注:由解決方案文件來維護(hù)各項(xiàng)目的依賴關(guān)系)。這些依賴關(guān)系會決定項(xiàng)目的生成順序。通過菜單 [Project->Properties],然后選擇[Project’s dependencies]按鈕來設(shè)置項(xiàng)目之間的依賴關(guān)系。如下圖:

            項(xiàng)目依賴

            1.9 包含匯編文件

                略。

            1.10 代碼編輯器與工具 (Editor and Tools)

            1.10.1 默認(rèn)代碼 (Default Code)   

                公司的編碼規(guī)范往往要求源文件有統(tǒng)一的布局(譯者注:例如源文件的開始處以統(tǒng)一的格式給出文件創(chuàng)建的時(shí)間、作者、實(shí)現(xiàn)的功能描述等相關(guān)信息)。 CodeBlocks允許預(yù)定義一些內(nèi)容,當(dāng)新建C/C++文件時(shí)這些內(nèi)容會自動添加到文件的開始處。這里把預(yù)定義的內(nèi)容稱為default code。可以通過菜單[Settings–>Editor–>Default Code]來設(shè)置defaulg code,通過菜單[File->New->File]創(chuàng)建的代碼文件將自動添加上default code。例如:

            /*************************************************************************
            * Project:
            * Function:
            *************************************************************************
            * $Author: mario $
            * $Name: $
            *************************************************************************
            *
            * Copyright 2007 by company name
            *
            ************************************************************************/

            1.10.2 縮寫(Abbreviation)

                定義一個(gè)常用的代碼片斷[typing],并給它提供一個(gè)名字[Abbreviation],在寫程序的時(shí)候,只要給出這個(gè)名字,然后按快捷鍵Ctrl + J,CodeBlocks就會用預(yù)先定義的代碼片斷來替換該名字。(譯者注:VS中也有類似的功能,在C#程序時(shí),只要寫出關(guān)鍵字for,然后連續(xù)按兩次 Tab鍵,編輯器會自動生成for語句的框架,是不是很方便?~_~)。通過菜單[Settings->Editor]來設(shè)置 Abbreviation,如下圖:

            代碼縮寫

                abbreviation也支持參數(shù)變量(Parametrisation)(如:$NOW表示當(dāng)前時(shí)間)。如:

            縮寫 -->  縮寫2

            1.10.3 個(gè)性化(Personalities)

                CodeBlocks的配置信息被作為應(yīng)用程序數(shù)據(jù)而保存在codeblocks文件夾的<user>.conf文件中。該配置文件中保存的 信息包括:上次打開的項(xiàng)目、代碼編輯器的設(shè)置、符號欄顯示等等。默認(rèn)的個(gè)性化設(shè)置被保存在default.conf文件中。通過命令行參數(shù) -personality=myuser來調(diào)用CodeBlocks,配置信息將被保存到myuser.conf中。如果該文件不存在,系統(tǒng)將自動創(chuàng)建 它。如果以命令行的方式來啟動CodeBlocks,并傳遞命令參數(shù)--personality=ask,將會顯列出當(dāng)前所有的修改化配置列表,用戶選擇 其一啟動CodeBlocks。如下圖:

            個(gè)性化啟動

            1.10.4 配置文件(Configuration Files)

                CodeBlocks的配置信息保存在codeblocks目錄下的default.conf文件中。當(dāng)使用個(gè)性化設(shè)置的時(shí)候,配置信息將被保存到<personality>.conf文件里。

                cb_share_conf(一個(gè)輔助工具,可以在CodeBlocks安裝目錄里找到)被用來管理與保存這些設(shè)置信息。

                如果你想為電腦的不同賬戶定義一個(gè)公用的默認(rèn)設(shè)置,defual.conf文件應(yīng)該被保存到\Documents and Settings\Default User\Application Data\codeblocks。CodeBlocks在第一次啟動的時(shí)候,會將該配置文件拷貝到當(dāng)前賬戶的application data目錄下(并作為當(dāng)前帳戶的配置文件)。

                如果想在usb設(shè)備上創(chuàng)建一個(gè)綠色版本號的CodeBlocks,請執(zhí)行下面步驟:將CodeBlocks安裝目錄拷貝到usb設(shè)備上,將配置文件 default.conf拷貝到該目錄中,該配置文件將被用于全局的設(shè)置。確保系統(tǒng)有權(quán)限對該文件進(jìn)行寫入,否則CodeBlocks對配置文件的修改將 不會被保存。

            1.10.5 導(dǎo)航與搜索(Navigate and Search)

                CodeBlocks提供了很多方法用于文件和函數(shù)之間導(dǎo)航。書簽就是最常用的一種方式。通過快捷鍵Ctrl + B在源文件中設(shè)置/刪除一個(gè)書簽,通過Alt + PgUp或Alt + PgDn在不同的書簽之間跳轉(zhuǎn)。

                在管理窗口的Project視圖中選中解決方案或項(xiàng)目,右鍵點(diǎn)擊在彈出菜單中選擇[Find file],輸入你查找的文件名稱,然后回車,該文件將被選中(如果文件存在的話),再按回車,編輯器就會打開該文件。如下圖:

            查找文件

                在CodeBlocks中,你可以很容易的在頭文件與源文件之間導(dǎo)航:

                    1. 將光標(biāo)置于頭文件被包含處(例如:#include “header.hpp”),右鍵選擇性“open include file”,編輯器將打開該包含文件。(譯者注:可以在VS中使用快捷鍵 Ctrl + Shift + G 實(shí)現(xiàn)同樣的操作。這個(gè)功能非常方便,特別是要查看源代碼時(shí)。)

            open_include

                    2. 通過右鍵菜單的[Swap header/source],在頭文件與源文件之間切換。

                    3. 選中一個(gè)定義(如變量名,類型名等等),在右鍵菜單中選擇[Find declaration],編輯器就會打開該定義的聲明。(譯者注:可以使用右鍵菜單的[Find implementation]定位到函數(shù)的實(shí)現(xiàn)處,在VS中使用快捷鍵F12實(shí)現(xiàn)同樣的操作。這也是一個(gè)非常方便的功能。)。

            轉(zhuǎn)到定義處

                 CodeBlocks提供多種方式用于對單個(gè)文件或整個(gè)目錄進(jìn)行搜索。通過菜單[Search->Find]或[Search –> Find in Files]來打開搜索對話框。

                Alt + G 和 Ctrl + Alt + G這兩個(gè)快捷鍵用于打開 文件/函數(shù) 跳轉(zhuǎn)對話框,只要輸入文件/函數(shù)的名稱,就可以很方便的跳轉(zhuǎn)到指定文件或函數(shù)。文件名/函數(shù)名搜索還支持 * 和 ? 等能配符。(譯者注:可以使用Visual Assist插件在VS中實(shí)現(xiàn)類似的功能。這兩個(gè)功能真的很方便實(shí)用。)

            select_func    select_func

                提示: 使用Ctrl + PgUp 和 Ctrl + PgDn可以在前后函數(shù)之間跳轉(zhuǎn)。

                在文本編輯器中,使用快捷鍵Ctrl + Tag可以在當(dāng)前所有打開的文件之間跳轉(zhuǎn)。(譯者注:VS也有類似的功能,而且快捷鍵也是Ctrl + Tag,這是巧合嗎?)

            在打開文章之間跳轉(zhuǎn)

                    顯示行號。通過菜單[Settings->General Settings],選中[Show line numbers]來顯示行號。使用快捷鍵 Ctrl + G 可以快速的跳轉(zhuǎn)到指定行。

            1.10.6 符號視圖(Symbol view)

                CodeBlocks管理窗口提供的符號視圖,以樹的形式顯示(導(dǎo)航)C/C++源文件中的類、函數(shù)、變量定義。可以選擇符號顯示的區(qū)域是:當(dāng)前文件、當(dāng)前項(xiàng)目、整個(gè)解決方案。(譯者注:與VS的類視圖面板實(shí)現(xiàn)類似的功能。)

            符號視圖

             

                提示: 在搜索輸入框中輸入符號的名稱,符號瀏覽器將會過濾不符條件的符號。

                符號視圖將符號分為如下分類:

            •         Global functions: 全局函數(shù);
            •         Global typedefs: 通過typedef定義的別名;
            •         Global variables:全局變量;
            •         Preprocessor symbols: 通過#define宏定義的預(yù)處理指示符;

                結(jié)構(gòu)和類的定義顯示在pre-processor symbols下面。如果一個(gè)分類被選中,屬于該分類的標(biāo)識符將顯示在視圖的下半部分。雙擊這些標(biāo)識符,代碼編輯器將定位到定義這些標(biāo)識符的文件所在處。

            1.10.7 集成外部的幫助文檔

                CodeBlocks支持添加外部的幫助文檔集成到開發(fā)環(huán)境中。通過菜單[Settings->Environment]來設(shè)置。把你選擇的chm格式的文檔以添加到Help Files,并將其作為默認(rèn)的幫助文檔,在編輯器中選擇一個(gè)函數(shù),對應(yīng)的文檔就會出現(xiàn)通過快捷鍵F1。…

            1.10.8 集成外部工具

                通過菜單[Tools->Configuration Tools–>Add],把外部工具集成到CodeBlocks開發(fā)環(huán)境中。這些外部的工具允許以參數(shù)的形式訪問CodeBlocks的內(nèi)建 (Built-in)變量(如當(dāng)前項(xiàng)目所在的文件夾${PROJECT_DIR})。利用這個(gè)功能,我們給CodeBlocks添加一個(gè)菜單項(xiàng):打開當(dāng)前 項(xiàng)目所在的文件夾。請看圖:

            集成外部工具

            (譯者注:這是一個(gè)非常實(shí)用的功能。利用這個(gè)功能,我在我的CodeBlocks中,添加了三個(gè)我最常用的菜單項(xiàng):使用Notepad++打開當(dāng)前文件;打開當(dāng)前項(xiàng)目所在的文件夾;以Dos窗口打開當(dāng)前文件夾。爽歪歪~~)

            external_tool

            1.11 使用CodeBlocks的小提示(Tips)

                這節(jié)我們將展示一些CodeBlocks非常有用的提示。

            1.11.1 修改跟蹤(Tracking of Modifications)

                CodeBlocks通過行號旁邊的小堅(jiān)條顏色來跟蹤源文件的修改。未保存的修改行將被標(biāo)記為黃色,而已保存的修改行標(biāo)記為綠色。你可以通過菜單[Search->Goto next changed line]或者[Search->Goto previous changed line]在修改內(nèi)容之間導(dǎo)航(對應(yīng)的快捷鍵是 Ctrl + F3 和 Ctrl + Shift + F3)。(譯者注:VS也提供類型的功能。)

            跟蹤文本修改

            trace_modify

                可以通過菜單[Settings->Editor->Margins and caret],取消選中[Use Changebar]來取消該功能。

                提示: 如果文件被關(guān)閉,記錄在該文件上的undo/redo信息和修改標(biāo)識(changebars)將會清空。如果文件處理打開狀態(tài),可以通過菜單[Edit->Clear changes history]或者右鍵菜單相應(yīng)選項(xiàng)來顯式地清空這些信息。

            1.11.2 與其他應(yīng)用程序交互

                CodeBlocks能夠在運(yùn)行時(shí)與其他應(yīng)用程序進(jìn)行交互。windows下通過DDE(Dynamic Data Exchange)實(shí)現(xiàn)這種進(jìn)程間的交互,而在其他操作系統(tǒng)下,基于TCP來實(shí)現(xiàn)交互。

                以下語法的命令可以發(fā)送給CodeBlocks運(yùn)行實(shí)例:

                    [<command>(“<parameter>”)

                當(dāng)前可以使用的命令:

                    Open: 命令[Open(“D:\Temp\test.txt”)],在CodeBlocks實(shí)例中(或者啟動新的CodeBlocks進(jìn)程,如果需要的話)打開一個(gè)文件。

                    OpenLine:命令[OpenLine(“D:\Temp\test.txt:10”)],在CodeBlocks中打開文件,并定位到指定行數(shù),冒號后面的數(shù)字用于指定行號。(譯者注:不是很明白原文的意思:This command opens a le at a given line number in a CodeBlocksi nstance.)

                    Raise:讓CodeBlocks實(shí)例獲得焦點(diǎn)。不就給該命令提供參數(shù)。

            1.11.3 配置環(huán)境變量

                操作系統(tǒng)的配置信息被定義在環(huán)境變量中。例如環(huán)境變量Path包含一個(gè)編譯器的安裝目錄路徑,操作系統(tǒng)在運(yùn)行期間都可以隨時(shí)訪問該環(huán)境變量。如果同一編譯器的另一個(gè)版本被安裝,就可能會發(fā)生錯(cuò)誤,如:調(diào)用的編譯器版本不正確。

                有時(shí)候因?yàn)轫?xiàng)目的需要,必須在同一機(jī)器上安裝同一編譯器的不同版本。為了避免上述錯(cuò)誤的發(fā)生,可以在項(xiàng)目啟動之前修改環(huán)境變量。顯然,這個(gè)方法很容易出 錯(cuò),很不靈活。基于這個(gè)問題,CodeBlocks提供了一個(gè)簡單的解決方法:創(chuàng)建不同版本的、只能在CodeBlocks內(nèi)使用的環(huán)境變量,然后根據(jù)項(xiàng) 目的需要選擇適當(dāng)?shù)陌姹经h(huán)境變量。通過菜單[Settings->Environment],在Environment Varibales面板中點(diǎn)擊Create按鈕創(chuàng)建不同版本的環(huán)境變量,如下圖:

            環(huán)境變量設(shè)置  

            1.11.4 切換布局

                CodeBlocks可以根據(jù)手頭任務(wù)的需要選擇不同的配置/視圖,并保存這些配置/視圖。默認(rèn)情況下這些配置保存在default.conf文件里。以 命令行方式啟動Cdoeblocks,并傳遞--personality=ask參數(shù),就可以在列出的個(gè)性化配置列表中選擇一個(gè)視圖啟動。有時(shí)候,你可能 希望在應(yīng)用程序的使用過程中切換布局,如編碼模式與調(diào)試模式下可能需要不同的布局。CodeBlocks提供了一種機(jī)制來實(shí)現(xiàn)這種需求,通過菜單 [View->Layouts->Save current],并輸入布局的命名,保存布局。通過[View->Layouts->Layout name]來切換布局。(譯者注:筆者使用的版本,通過[View->Perspectives]來保存\切換布局,如下圖:)

            切換布局

            1.11.5 項(xiàng)目切換

                多個(gè)項(xiàng)目同時(shí)在CodeBlocks中打開時(shí),用戶希望快速的在這些項(xiàng)目之間切換。CodeBlocks提供一組快捷鍵來實(shí)現(xiàn):

            •        Alt + F5 :將視圖中前一個(gè)項(xiàng)目設(shè)為激活(Active)項(xiàng)目。(譯者注:類似于VS中將某個(gè)項(xiàng)目設(shè)為啟動項(xiàng)目。)
            •         Alt + F6: 將視圖中后一個(gè)項(xiàng)目設(shè)為激活項(xiàng)目。
            •         F11: 在編輯器中切換源文件(name.cpp)和頭文件(name.h)。
             
            1.11.6 擴(kuò)展編譯器設(shè)置

                在編譯一個(gè)項(xiàng)目的過程中,編譯信息將會顯示在消息窗口的Build Log視圖中。如果你想獲取更詳細(xì)的編譯信息,通過菜單[Settings->Compiler and Debugger],在Other Settings面板中選擇Compiler logging下拉列表項(xiàng):

            編譯選項(xiàng)設(shè)置

                “Full command line”選項(xiàng)意味著將在Build Log視圖中顯示所有的編譯信息。可以將這些日志信息保存為HTML文件,通過選中”Save build log to HTML file when finished’。另外,通過選中”Display build process bar”,CodeBlocks支持在Build Log視圖中顯示編譯進(jìn)度。

            1.11.7 編輯器縮放

                CodeBlocks提供了一個(gè)非常高效的編輯器。這個(gè)編輯器允許你縮放打開文本的字體大小。如果你的鼠標(biāo)有滾輪,你只要按住Ctrl鍵,同時(shí)滾支鼠標(biāo)滾輪,就可以實(shí)現(xiàn)文本的縮放。

                提示: 通過菜單[Edit->Special commands->Zoom->Reset]來重置縮放。

            1.11.8 自動換行模式

                在CodeBlcoks中打開一個(gè)文本文件,使用自動換行模式可以將很長的行以多行的形式顯示在一個(gè)屏幕內(nèi),有利于編輯。通過菜單[Settings->Editor->Other Options],選中Word warp來激活自動換行模式。…

            1.11.9 塊選文本

                CodeBlocks支持在代碼編輯器中塊選文本。按住Alt鍵的同時(shí)按住鼠標(biāo)左鍵在編輯器選擇一塊區(qū)域。如果你想選擇數(shù)組的幾列進(jìn)行復(fù)制和粘貼,這個(gè)功能是非常有用的(譯者注:VS也提示類似的功能,快捷鍵也一樣。)。如圖:

            塊選文本

            1.11.10 代碼折疊

                CodeBlocks支持代碼折疊,允許將函數(shù)、類的實(shí)現(xiàn)折疊起來。

                提示: 通過菜單[Settings->Editor->Folding],可以設(shè)置代碼折疊的樣式和層次限制(depth limit)。

            1.11.11 自動完成

               在CodeBlocks中打開一個(gè)項(xiàng)目時(shí),編譯器的相關(guān)目錄(include目錄)與項(xiàng)目的源文件/頭文件將被解析,提取有關(guān)類型定義、函數(shù)、宏等的信 息,CodeBlocks使用這些信息來實(shí)現(xiàn)自動完成功能。通過菜單[Settings->Editors->Code completion]啟用該功能,通過快捷鍵 Ctrl + Space 來顯示提示信息(譯者注:默認(rèn)的快捷鍵 Ctrl + Space 不適合中國人的鍵盤習(xí)慣,建議改成其他快捷鍵。)。通過[Settings->Editor->Syntax highlighting],你可以添加自定義的關(guān)鍵字。

            1.11.12 查找破損文件(Find broken files)

                如果一個(gè)文件已經(jīng)從磁盤中刪除,但它仍然被包含在項(xiàng)目文件(project.cbp)中(譯者注:項(xiàng)目的文件信息保存在*.cbp文件里。),這個(gè)文件在項(xiàng)目面板中顯示一個(gè)破損符號(如下圖)。應(yīng)該通過上下文菜單[Remove file from project]將它從項(xiàng)目中移除。

            borken_file

                一個(gè)大的工程可能包含許多子文件夾,搜索破損文件會非常花費(fèi)時(shí)間。CodeBlocks提供ThreadSearch插件來解決這個(gè)問題。在ThreadSearch中輸入要查找的表達(dá)式,并設(shè)置查找的范圍:“Project files”或者“Workspace files”,ThreadSearch將會分析所有包括在項(xiàng)目或者解決方案中的文件。當(dāng)ThreadSearch找到一個(gè)跋損文件的時(shí)候,會發(fā)出一個(gè)文件丟失的錯(cuò)誤。

            1.11.13 包含庫

                在項(xiàng)目的編譯選項(xiàng)中,你可以通過”Add”按鍵添加項(xiàng)目所使用的庫。庫可以以絕對路徑的形式給出,也可以只給出名稱而無需提供lib前綴和文件擴(kuò)展名。

                例如:存在這樣的一個(gè)庫文件:<path>\libs\lib<name>.a,只要給出<name>,鏈接器就可以找到對應(yīng)的庫文件。

            1.11.14 對象鏈接順序

                在編譯過程中,源文件name.c/cpp將會被編譯成目標(biāo)文件name.o,然后鏈接器把獨(dú)立的目標(biāo)文件鏈接成可執(zhí)行文件name.exe(對于嵌入式 系統(tǒng),將鏈接成name.elf)。這種情況下,可能需要預(yù)先定義對象鏈接的順序。在CodeBlocks中,可以設(shè)置相關(guān)源文件的優(yōu)先級來實(shí)現(xiàn)。在上下 文菜單中選擇[Properties],在Build標(biāo)簽中定義。較低優(yōu)先級使文件較先鏈接。

            1.11.15 自動保存

                CodeBlcoks允許自動保存當(dāng)前正在編輯的文件和項(xiàng)目,或者對它們進(jìn)行備份。可以通過菜單[Settings->Environment->Autosave]來激活該功能。

            1.11.16 文件擴(kuò)展名設(shè)置

                在CodeBlocks中,可以選擇多次方式來處理文件不同后綴的文件,可以在菜單[Settings->Environment settings->Files extension handling]設(shè)置相應(yīng)的處理方式:“Launch an external program”指定外部程序來打開文件;“Launch the associated application”使用系統(tǒng)默認(rèn)程序來打開文件;“Open it in Code::Blocks editor”使用Code::Blocks編輯器來打開文件。如下圖:

            文件處理方式  

            1.12 通過命令行操作CodeBlocks

                CodeBlocks能夠通過命令行來運(yùn)行。在這種情況下,需要通過一些選項(xiàng)來控制項(xiàng)目的構(gòu)建過程。因?yàn)镃odeBlocks是scriptable的,所以CodeBlocks項(xiàng)目的構(gòu)建可以集成到你自己的工作過程中。

                codeblocks.exe /na /nd --no-splash-screen --built <name>.cbp --target=’Release’

            <filename> 指定CodeBlock項(xiàng)目文件(*.cbp)或解決方案文件(*.workspace)。

            --file=<filename>[:line]:使用CodeBlocks打開指定文件。可選的行號指示代碼編輯器跳轉(zhuǎn)到該行。

            /h, --help:顯示幫助信息。

            /na, --no-check-associations:不執(zhí)行文件關(guān)聯(lián)檢查。(windows only)

            /nd, --no-dde:不啟動DDE服務(wù)。(windows only)

            /ni, --no-ipc:不啟動IPC服務(wù)。(Linux and Mac only)

            /ns, --no-splash-screen:應(yīng)用程序啟動的時(shí)候,不顯示啟動畫面。

            /d, --debug-log:顯示應(yīng)用程序的調(diào)試日志

            --prefix=<str>:設(shè)置共享數(shù)據(jù)文件夾的前綴

            /p, --personality=<str>, --profile=<str>:設(shè)置要使用的個(gè)性化配置。你可以使用“ask”參數(shù)來列出可選擇的個(gè)性化配置。

            --rebuild:清理并重新編譯工程或解決方案。

            --build:編譯工程或解決方案。

            --target=<str>:設(shè)置編譯模式,如:--target=’Release’

            --no-batch-window-close:編譯完成的時(shí)候,不關(guān)閉日志窗口。

            --batch-build-notify:編譯完成的時(shí)候顯示提示信息

            --safe-mode:啟動的時(shí)候,所有插件都不可用。

            > <build log file>:重定向標(biāo)準(zhǔn)輸出到日志文件。這是標(biāo)準(zhǔn)DOS/*nix shell的輸出重定向,并非CodeBlocks內(nèi)置選項(xiàng)。

            1.13 快捷鍵

                在IDE中使用快捷鍵比使用鼠標(biāo)更為高效。下表給出CodeBolcks默認(rèn)的快捷鍵。(譯者注:筆者將CodeBlocks中的快捷鍵設(shè)置為與VS大體一致,使用CodeBlocks時(shí)非常順手。)

            Function Shortcut Key
            Undo last action Ctrl + Z
            Redo last action Ctrl + Shift + Z
            Cut selected text Ctrl + X
            Copy selected text Ctrl + C
            Paste text from clipboard Ctrl + V
            Select all text Ctrl + A
            Swap header / source F11
            Comment highlighted code Ctrl + Shift + C
            Uncomment highlighted code Ctrl + Shift + X
            Duplicate line caret is on Ctrl + D
            Auto-complete / Abbreviations Ctrl + Space / Ctrl + J
            Show call tip Ctrl + Shift + Space
            Swap line caret is on with line above it Ctrl + T
            Toggle bookmark Ctrl + B
            Goto previous bookmark Alt + PgUp
            Goto next bookmark Alt + PgDown
            Toggle current block folding F12
            Toggle all folds Shift + F12

            CodeBlocks代碼編輯器組件提供的快捷鍵,這些快捷鍵不能重新綁定(rebound)。

            Function Shortcut Key
            Magnify text size. Ctrl + Keypad "+"
            Reduce text size. Ctrl + Keypad "-"
            Restore text size to normal. Ctrl + Keypad "/"
            Cycle through recent files. Ctrl + Tab
            Indent block. Tab
            Dedent block. Shift + Tab
            Delete to start of word. Ctrl + BackSpace
            Delete to end of word. Ctrl + Delete
            Delete to start of line. Ctrl + Shift + BackSpace
            Delete to end of line. Ctrl + Shift + Delete
            Go to start of document. Ctrl + Home
            Extend selection to start of document. Ctrl + Shift + Home
            Go to start of display line. Alt + Home
            Extend selection to start of display line. Alt + Shift + Home
            Go to end of document. Ctrl + End
            Extend selection to end of document. Ctrl + Shift + End
            Go to end of display line. Alt + End
            Extend selection to end of display line. Alt + Shift + End
            Expand or contract a fold point. Ctrl + Keypad "*"
            Create or delete a bookmark. Ctrl + F2
            Go to next bookmark. F2
            Select to next bookmark. Alt + F2
            Find selection. Ctrl + F3
            Find selection backwards. Ctrl + Shift + F3
            Scroll up. Ctrl + Up
            Scroll down. Ctrl + Down
            Line cut. Ctrl + L
            Line copy. Ctrl + Shift + T
            Line delete. Ctrl + Shift + L
            Line transpose with previous. Ctrl + T
            Line duplicate. Ctrl + D
            Find matching preprocessor conditional, skipping nested ones. Ctrl + K
            Select to matching preprocessor conditional. Ctrl + Shift + K
            Find matching preprocessor conditional backwards, skipping nested ones. Ctrl + J
            Select to matching preprocessor conditional backwards. Ctrl + Shift + J
            Previous paragraph. Shift extends selection. Ctrl + [
            Next paragraph. Shift extends selection. Ctrl + ]
            Previous word. Shift extends selection. Ctrl + Left
            Next word. Shift extends selection. Ctrl + Right
            Previous word part. Shift extends selection. Ctrl + /
            Next word part. Shift extends selection. Ctrl + \

            Files

            Function Shortcut Key
            New file or project Ctrl + N
            Open existing file or project Ctrl + O
            Save current file Ctrl + S
            Save all files Ctrl + Shift + S
            Close current file Ctrl + F4 / Ctrl + W
            Close all files Ctrl + Shift + F4 / Ctrl + Shift + W

            CodeBlocks的Tab組件所提供的快捷鍵,這些快捷鍵不能重新綁定(rebound)。

            Function Shortcut Key
            Activate next open file Ctrl + Tab
            Activate previous open file Ctrl + Shift + Tab

            View

            Function Shortcut Key
            Show / hide Messages pane F2
            Show / hide Management pane Shift + F2
            Move project up (in Project tree) Ctrl + Shift + Up
            Move project down (in Project tree) Ctrl + Shift + Down
            Activate prior (in Project tree) Alt + F5
            Activate next (in Project tree) Alt + F6
            Zoom in / out Ctrl + Roll Mouse Wheel
            Focus editor CTRL + Alt + E

            Search

            Function Shortcut Key
            Find Ctrl + F
            Find next F3
            Find previous Shift + F3
            Find in files Crtl + Shift + F
            Replace Ctrl + R
            Replace in files Ctrl + Shift + R
            Goto line Ctrl + G
            Goto next changed line Ctrl + F3
            Goto previous changed line Ctrl + Shift + F3
            Goto file Alt + G
            Goto function Ctrl + Alt + G
            Goto previous function Ctrl + PgUp
            Goto next function Ctrl + PgDn
            Goto declaration Ctrl + Shift + .
            Goto implementation Ctrl + .
            Open include file Ctrl + Alt + .

            Build

            Function Shortcut Key
            Build Ctrl + F9
            Compile current file Ctrl + Shift + F9
            Run Ctrl + F10
            Build and Run F9
            Rebuild Ctrl + F11

            Debug

            Function Shortcut Key
            Debug F8
            Continue debugging Ctrl + F7
            Step over a code block F7
            Step into a code block Shift + F7
            Step out of a code block Ctrl + Shift + F7
            Toggle breakpoint F5
            Run to cursor F4
            Previous error Alt + F1
            Next error Alt + F2

            posted @ 2012-07-28 09:16 鐘謝偉 閱讀(4936) | 評論 (0)編輯 收藏

            2012年7月25日

            X,擱筆快兩周了

            一下子就快過了兩周的時(shí)間了,忙活去了,調(diào)一個(gè)數(shù)據(jù)擬合的東西,發(fā)現(xiàn)擬合的東西是一種很坑爹的事情,初值的設(shè)定,是一件不容易的事情呀,變量的數(shù)量一多,那調(diào)整的難度更是一躍而上,花了兩個(gè)周的時(shí)間,調(diào)出了一個(gè)勉強(qiáng)符合規(guī)范的結(jié)果,誒,感覺像是浪費(fèi)了時(shí)間,青春呀。。。。

            posted @ 2012-07-25 22:39 鐘謝偉 閱讀(149) | 評論 (0)編輯 收藏

            2012年7月13日

            學(xué)習(xí)auto_ptr

            前言:

            一個(gè)變量在聲明中通過另一個(gè)對象進(jìn)行賦值

              • Person q("Mickey"); // constructor is used to build q
              • Person r(q);           // copy constructor is used to build r
              • Person p = q;         // copy constructor is used to initialize in declaration
              • P = q;                    // assignment operator, no constructor or copy constructor
            • 函數(shù)參數(shù)傳遞中
              • f(p);
            • 函數(shù)返回一個(gè)對象時(shí)

            具體內(nèi)容:

            1. 關(guān)于auto_ptr解析

            2. auto_ptr_ref

            posted @ 2012-07-13 18:00 鐘謝偉 閱讀(1160) | 評論 (4)編輯 收藏

            2012年7月10日

            讀《計(jì)算機(jī)科學(xué)概論》-2. 數(shù)據(jù)操控

            1. 通用寄存器用于臨時(shí)存儲由CPU正在操縱的數(shù)據(jù)。這些寄存器存儲算術(shù)/邏輯單元電路的輸入值以及該部件所產(chǎn)生的結(jié)果。

            2. 利用總線,CPU給出相關(guān)存儲單元的地址以及相應(yīng)的電信號(告知存儲電路,將在指定單元中獲取數(shù)據(jù)),從主存儲器中取出數(shù)據(jù)。

            3. 通用寄存器用于存儲操作中馬上用到的數(shù)據(jù),主存儲器用于存儲不久就要用到的數(shù)據(jù),海量存儲器用于存儲暫時(shí)不會用到的數(shù)據(jù)。

            4. 不管是精簡指令集計(jì)算機(jī)還是復(fù)雜指令集計(jì)算機(jī),機(jī)器指令可以分為3類:(1)數(shù)據(jù)傳輸類;(2)算術(shù)/邏輯類;(3)控制類

            5. 計(jì)算機(jī)與其他設(shè)備的通信通常是通過稱為控制器的中間設(shè)備來處理的。

            6. 因?yàn)榭刂破魇沁B接到一臺計(jì)算機(jī)的總線上的,因此它就有可能在CPU不使用總線的幾納秒時(shí)間里實(shí)現(xiàn)它與主存儲器的通信,控制器這種存取主存儲器的能力稱為直接存儲器存取(DMA)。它的不利影響是,使計(jì)算機(jī)總線的通信復(fù)雜化。

            7. 計(jì)算機(jī)產(chǎn)生字符并向打印機(jī)發(fā)送字符的速度要遠(yuǎn)遠(yuǎn)快于打印機(jī)能夠打印的速度,計(jì)算機(jī)盲目地將數(shù)據(jù)發(fā)送給打印機(jī),可能的結(jié)果會使得數(shù)據(jù)丟失。因此,諸如打印文件這樣的過程都會包括持續(xù)的雙向?qū)υ挘?jì)算機(jī)和外圍設(shè)備之間交換設(shè)備狀態(tài)的信息,協(xié)調(diào)它們之間的活動。這個(gè)過程稱為握手。

            posted @ 2012-07-10 15:05 鐘謝偉 閱讀(336) | 評論 (0)編輯 收藏

            2012年7月9日

            templates

                 摘要: 由于想要對STL的具體實(shí)現(xiàn)有一個(gè)清楚的認(rèn)識,因此在此先溫習(xí)一下關(guān)于templates的相關(guān)知識。 模版的使用,將不同類型的具體實(shí)現(xiàn)交給了編譯器去完成,從而實(shí)現(xiàn)了代碼量的縮減,以達(dá)到清晰鮮明的目的。 如有個(gè)函數(shù) 1: template <typename Type> // this is the template parameter declaration 2: Type m...  閱讀全文

            posted @ 2012-07-09 14:48 鐘謝偉 閱讀(1009) | 評論 (0)編輯 收藏

            僅列出標(biāo)題  下一頁
            <2012年10月>
            30123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(1)

            隨筆檔案

            IT網(wǎng)站

            My Friends

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            999久久久免费国产精品播放| 久久受www免费人成_看片中文| 久久久久亚洲AV无码麻豆| 久久精品国产亚洲77777| 丁香五月综合久久激情| 久久亚洲中文字幕精品一区| 狠狠88综合久久久久综合网 | 久久久久99精品成人片欧美| 国产福利电影一区二区三区久久老子无码午夜伦不 | 久久人人超碰精品CAOPOREN | 国产99久久久国产精品~~牛| 模特私拍国产精品久久| 日本一区精品久久久久影院| 欧美日韩精品久久久免费观看| 国产精品青草久久久久婷婷| 久久综合九色综合网站| 久久久久婷婷| 88久久精品无码一区二区毛片| 亚洲国产精品无码久久| 伊人久久无码精品中文字幕| segui久久国产精品| 狠狠色婷婷综合天天久久丁香| 亚洲人成网亚洲欧洲无码久久| 久久婷婷色综合一区二区| 丁香狠狠色婷婷久久综合| 99久久无色码中文字幕人妻| 一本色综合久久| 久久国产视频99电影| 久久久国产精品网站| 久久精品天天中文字幕人妻 | 日本加勒比久久精品| 久久精品这里热有精品| 久久av无码专区亚洲av桃花岛| 99精品国产99久久久久久97| 伊人久久精品影院| 午夜精品久久久久久| 天天影视色香欲综合久久| 久久久久无码中| 一本一本久久a久久精品综合麻豆| 久久人人爽人人澡人人高潮AV| 久久e热在这里只有国产中文精品99|