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

            Codejie's C++ Space

            Using C++

            吃了空:天書Putty


                周一來到M公司上班,除了不好意思和周圍的人聊天外,倒也沒有什么不舒服的地方。換個工作對我來說似乎跟換個項目做一樣。至少目前感覺還。。。正常。
            剛上班,除了看文檔就是申請各種資源了,M果然是傳說中的“大公司”,各個服務器的訪問權限都需要走流程申請,且聽說做這些工作的都是外包公司,就是說,可能給你解決問題的是個老外。。。這也是麻煩,時差啊,申請的訪問權限的延遲長的要命。這中間我還弄錯個申請,也沒發,人家分得很細,發錯了,就直接回你一個--‘can't understand‘,于是咱就得重來一邊。唉,好懷念魔鬼做管理員的日子,一個電話,甚至吼上一句,什么訪問權限啊,直接root口令就發過來了。。。

                看文檔是件很無聊的事情,至少對我來說是這樣,每次我只能堅持看20分鐘,然后就會走神30分鐘。。。為了讓自己能安靜坐著,就想著該寫些代碼,于是開始對Putty動刀了。。。Putty和SecureCRT一樣,是用于遠程訪問的終端程序,只是Putty是free的,而SecureCRT是。。。被盜版的,至少目前我還沒有碰到一個用正版SecureCRT的,哪怕是在M公司。。。當然我也一直是盜版SecureCRT的使用者,很好,很強大。現在M公司多數,應該說絕大多數都是正版的,咱也不好意思再用了,于是就換用魔鬼使用的Putty。
                Putty那叫一個“不方便”,沒有Tab不說,你要不Paster那連Copy也沒有。唉,都被SecureCRT慣壞了。于是也真是吃了空,下載了源碼,就想著把Putty改成SecureCRT了。源碼解壓,不錯,有VC工程,打開工程,登時暈了,全眼的.c文件。。。看到下面的代碼,就知道添加Tab方式是沒有指望了。。

            void  listbox( struct  ctlpos  * cp,  char   * stext,
                     
            int  sid,  int  lid,  int  lines,  int  multi)
            {
                RECT r;

                
            if  (stext  !=  NULL)  {
                r.left 
            =  GAPBETWEEN;
                r.top 
            =  cp -> ypos;
                r.right 
            =  cp -> width;
                r.bottom 
            =  STATICHEIGHT;
                cp
            -> ypos  +=  r.bottom  +  GAPWITHIN;
                doctl(cp, r, 
            " STATIC " , WS_CHILD  |  WS_VISIBLE,  0 , stext, sid);
                }


                r.left 
            =  GAPBETWEEN;
                r.top 
            =  cp -> ypos;
                r.right 
            =  cp -> width;
                r.bottom 
            =  LISTHEIGHT  +  (lines  -   1 *  LISTINCREMENT;
                cp
            -> ypos  +=  r.bottom  +  GAPBETWEEN;
                doctl(cp, r, 
            " LISTBOX " ,
                  WS_CHILD 
            |  WS_VISIBLE  |  WS_TABSTOP  |  WS_VSCROLL  |
                  LBS_NOTIFY 
            |  LBS_HASSTRINGS  |  LBS_USETABSTOPS  |
                  (multi 
            ?  LBS_MULTIPLESEL :  0 ),
                  WS_EX_CLIENTEDGE, 
            "" , lid);
            }


                Putty的作者絕對是C的高人,甚至我都懷疑他應該是用ASM的,為了讓大家好理解才用C來寫的。。。。別的不說,其代碼中涉及到的Windows控件部分的代碼,全面都是直接調用API的,這讓我等用慣了‘Window Designer'的人來說,那些代碼堪比天書。。。Putty代碼已經超出我理解范圍了,但又有些不心甘,于是照貓畫虎,添加了所謂的’Copy‘功能,聊以自慰。。。


            <----丟臉的分割線---->
            剛才跟同事說起此事,同事很詫異地說:“Copy功能怎么可能沒有啊~”,并當場演示給我看,原來在Putty中,選擇不Paste就是COPY!丟臉啊~不過Putty這個功能也說明了,以后不要沒事在屏幕上亂選了,小心COPY哦~

             

            posted on 2009-09-18 11:01 codejie 閱讀(1425) 評論(4)  編輯 收藏 引用 所屬分類: 隨筆而已

            評論

            # re: 吃了空:天書Putty[未登錄] 2009-09-19 01:16 Liu

            你居然連Puty的paste功能都不知道?當年只有兩鍵鼠標,我們華為同事統一使用puty就是因為他不需要用鼠標中鍵就可以拷貝粘貼特別方便。
            左鍵選擇就是copy,右鍵一點就是paste……

            大哥,我一直很崇拜你的,太讓我失望了  回復  更多評論   

            # re: 吃了空:天書Putty[未登錄] 2009-09-20 18:06 codejie

            我也覺得狠丟臉。。。。大哥讓你失望了。。。。  回復  更多評論   

            # re: 吃了空:天書Putty 2009-09-23 23:57 白云深

            呵呵,putty我就得比SecureCRT方便,尤其是復制粘貼,唯一美中不足的就是不支持標簽頁,不過我已經習慣用putty了,感覺沒標簽頁也沒什么不方便的。


            另外,今天碰到了一個很詭異的問題,想請教一下。今天用VC7寫了一個程序,我的系統是XP SP3,用release模式編譯的,但拿到另外一臺機器(win2K)上卻跑不起來,也不報錯,主函數也沒進去,直接就退出了。因為程序的運行要有語音卡,所以我的機器是跑不起來的。但碰到這種死的不明不白的問題,不知道該怎么查,我在想是不是程序庫有什么問題。后來又編了一個debug版本的程序,扔到那臺有語音卡的機器上去跑了,這次可以跑了,但剛進主函數后,就崩潰了。我把懷疑有問題的代碼拎了出來,在我自己上調試。調試后發現,編譯成release版本的就沒問題,如果編譯成debug版本,程序一跑就崩了。之后我又試了一下,我以前做的那些windows下的程序(都是release版本),果然編譯成debug版本的,一跑就崩。出問題的地方都是寫日志的地方,寫日志用的是log4cplus。不知道博主有沒有碰到過類似的情況。
              回復  更多評論   

            # re: 吃了空:天書Putty 2009-09-24 09:32 codejie

            @白云深
            先說Release和Debug兩種模式編譯出來的代碼是不一樣的,Debug模式偏向調試,含有更多的調試和檢查信息,比如越界問題,而這些在Release版本上就都沒有了,因此就可能發生Relase正常,而Debug不正常的現象,實際上當Debug不正常的時候,Release是跑在一中很危險的情況下。
            對于XP和Win2K的問題,我懷疑是Dll的問題,這里建議你嘗試使用VC做安裝包的能力(VC可以做安裝工程),做一個安裝文件,然后在Win2K上安裝,再運行試試。VC7好像是VC2002版本吧?現在的VC2008都對程序使用的DLL有檢查了。  回復  更多評論   

            公告

            Using C++

            導航

            統計

            留言簿(73)

            隨筆分類(513)

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            久久免费看黄a级毛片| 久久天天躁狠狠躁夜夜2020一| 欧美亚洲国产精品久久久久| 亚洲欧美精品一区久久中文字幕 | 日韩亚洲国产综合久久久| 久久97久久97精品免视看| 国产午夜精品久久久久九九| 亚洲午夜精品久久久久久app| 97精品依人久久久大香线蕉97 | 国产欧美一区二区久久| 精品综合久久久久久97| 久久久久这里只有精品| 情人伊人久久综合亚洲| 精品久久久久香蕉网| 久久永久免费人妻精品下载| 一级女性全黄久久生活片免费 | 久久精品毛片免费观看| 97香蕉久久夜色精品国产| 亚洲精品国产自在久久| 欧美黑人又粗又大久久久| .精品久久久麻豆国产精品| 国产三级久久久精品麻豆三级| 狠狠88综合久久久久综合网| 久久精品一区二区| 中文字幕精品久久久久人妻| 亚洲精品乱码久久久久久自慰| 久久棈精品久久久久久噜噜| 久久国产精品久久久| 性欧美丰满熟妇XXXX性久久久| 久久91精品国产91久久小草| 久久嫩草影院免费看夜色| 久久亚洲美女精品国产精品| 99久久精品免费国产大片| 色婷婷综合久久久久中文一区二区| 久久国产精品-久久精品| 久久99精品久久久大学生| 久久久久无码精品国产app| 久久AV高清无码| 欧美午夜精品久久久久免费视| 亚洲欧美日韩精品久久亚洲区 | 国内精品久久国产大陆|