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

            丟臉:C++害死人


            ??? 工作需要,今天寫了一個(gè)C語言的H文件,都是一些類型定義,不長(zhǎng),不到200行。知道是在寫C的代碼,所以格外小心,盡量清空腦袋里面的C++,但編譯檢查時(shí),還是錯(cuò)誤比代碼還多。。。被C++害死了,完成忘記C該怎么寫了。。。
            ??? 下面列舉一下C++的“罪狀”。
            1.????
            code:
            ?typedef?
            bool?BOOL;
            ?BOOL?ready;

            result:
            ?error:?syntax?error?before?
            "BOOL"
            ??? 為什么會(huì)這樣呢?因?yàn)榘。虼薈語言沒有‘bool’類型。。。。

            2.
            code:
            ?
            enum?TestType?{?TT1?=?0,?TT2?};
            ?
            const?int?LENGTH?=?100;
            ?
            char?Array[LENGTH];

            result:
            ?error:?variable
            -size?type?declared?outside?of?any?function
            ??? 為什么會(huì)這樣呢?因?yàn)榘。驗(yàn)镃語言的變量必須定義在類型前面。。。(這里錯(cuò)了,請(qǐng)看評(píng)論)

            3.
            code:

            enum?TestType?{?TT1?=?0,?TT2?};
            TestType?type;

            result:
            ?error:?syntax?error?before?
            "type"
            ??? 為什么會(huì)這樣呢?因?yàn)榘。驗(yàn)镃語言中enum,struct自定義類型在使用是需要在類型前面指明enum,struct什么的。。。。

            4. (這個(gè)是補(bǔ)充的)
            code:

            enum?T1?{?tt?=?0?};
            enum?T2?{?tt?=?0?};

            result:
            ?error:?redeclaration?of?enumerator?
            'tt'
            ????為什么會(huì)這樣呢?因?yàn)榘。驗(yàn)榘。徽f了。。這個(gè)問題太可怕了~

            ?? 算了,不說了,錯(cuò)誤比代碼還多,感覺狠丟臉啊。。。看來要從新學(xué)習(xí)C語言了。。。
            ??? 不過,話說回來,C語言有啥好啊,要類型沒類型,要擴(kuò)展沒擴(kuò)展,要。。最主要的,沒有STL庫。。。對(duì)于我這樣需要對(duì)數(shù)據(jù)進(jìn)行管理的代碼來說,簡(jiǎn)直就是悲劇啊。。。。

            posted on 2009-10-29 18:23 codejie 閱讀(1189) 評(píng)論(10)  編輯 收藏 引用 所屬分類: C++隨筆而已

            評(píng)論

            # re: 丟臉:C++害死人 2009-10-29 19:50 Sunshine Alike

            嘿嘿,我一直不會(huì)寫C,從來都木有學(xué)過 @_@  回復(fù)  更多評(píng)論   

            # re: 丟臉:C++害死人[未登錄] 2009-10-31 05:28 Liu

            我記得當(dāng)年你給我推薦過一本書,講的是C++內(nèi)存的布置。因?yàn)橐獙?shí)現(xiàn)OOP的緣故,類的封裝開銷確實(shí)要比C大。我相信你還記得這個(gè)吧?

            對(duì)于臺(tái)式機(jī)來說,現(xiàn)在這點(diǎn)內(nèi)存已經(jīng)不算啥了。對(duì)于嵌入式系統(tǒng),操作系統(tǒng)內(nèi)核來說,這點(diǎn)開銷還是很多人在乎的……

            我現(xiàn)在工作的板子,內(nèi)存才48M呢。整個(gè)Linux跑起來還要加載各種驅(qū)動(dòng)模塊加上應(yīng)用程序,JAVA虛擬機(jī)……內(nèi)存很重要的  回復(fù)  更多評(píng)論   

            # re: 丟臉:C++害死人[未登錄] 2009-10-31 05:35 Liu

            @Liu
            順便說一句,我們板子的存儲(chǔ)空間只有16M,其中2M可以供應(yīng)用程序讀寫。14M包括整個(gè)操作系統(tǒng)加上應(yīng)用程序(ftpd,tftpd,tr69,httpd,dhcpd還有其他各種統(tǒng)計(jì)工具監(jiān)控工具時(shí)間同步軟件防火墻過濾規(guī)則匹配等等等等),web的網(wǎng)頁圖片和一個(gè)簡(jiǎn)單的XML數(shù)據(jù)庫……不節(jié)約用能行么  回復(fù)  更多評(píng)論   

            # re: 丟臉:C++害死人 2009-11-02 08:51 wu

            關(guān)于第2點(diǎn)不解,看英文描述不是說:在函數(shù)體外面聲明了動(dòng)態(tài)數(shù)組。
            C99支持動(dòng)態(tài)數(shù)組,但可能不允許作為全局變量定義。
            你的解說莫明其妙!  回復(fù)  更多評(píng)論   

            # re: 丟臉:C++害死人 2009-11-02 10:25 codejie

            @Liu
            你的run環(huán)境比我這邊可憐好多。。。我們?cè)趺匆彩莾蓚€(gè)扳子,8G內(nèi)存,4個(gè)CPU,24個(gè)核,還有一個(gè)不知道大小的Shared Memory。。。在我看來,這樣的條件下,完成可以使用C++來編寫程序了。目前從我得到的情況看,用C的緣由是因?yàn)槟銈傾國人,只會(huì)用C。。。。
            我現(xiàn)在在努力把自己的腦袋變成C腦袋。。。  回復(fù)  更多評(píng)論   

            # re: 丟臉:C++害死人 2009-11-02 10:32 codejie

            @wu
            嗯,你說的對(duì),這個(gè)錯(cuò)誤應(yīng)該是由于動(dòng)態(tài)數(shù)組的原因?qū)е碌摹?br>我不知道C99標(biāo)準(zhǔn)定義了什么,但我用GCC 3.46還是不支持的。
            想來比較好理解,程序加載時(shí),全局變量在開始就初始了,由于在初始時(shí)并沒有初始順序的概念,因此可能存在不知道數(shù)組大小的情況,這樣,動(dòng)態(tài)數(shù)組就無法初始,編譯錯(cuò)誤也指出了問題所在。
            不知道我這樣理解是否正確,謝謝指點(diǎn)。  回復(fù)  更多評(píng)論   

            # re: 丟臉:C++害死人[未登錄] 2009-11-03 03:01 Liu

            @codejie

            你們是局端設(shè)備,配置當(dāng)然不是我們這些用戶端設(shè)備可以比擬的。

            不過你們真的可以用C++了,就是估計(jì)以前的傳統(tǒng)都是C,現(xiàn)在想改也難阿……  回復(fù)  更多評(píng)論   

            # re: 丟臉:C++害死人 2009-11-03 08:41 wu

            所謂動(dòng)態(tài)數(shù)組也是通過棧空間實(shí)現(xiàn)的,全局變量肯定不成啦。
            其實(shí)LENGTH已經(jīng)被定義成常量了,在C++可以用作定義靜態(tài)數(shù)組長(zhǎng)度了,
            但在C里面好像還是不可以吧?既然報(bào)了這個(gè)錯(cuò),我猜她是支持動(dòng)態(tài)數(shù)組的,
            int fun(int n) {char array[n];} // 定義時(shí)動(dòng)態(tài),使用期間不可擴(kuò)縮  回復(fù)  更多評(píng)論   

            # re: 丟臉:C++害死人 2009-11-03 08:55 codejie

            @Liu
            是啊,只有我迎合工作,沒有工作迎合我之說啊~  回復(fù)  更多評(píng)論   

            # re: 丟臉:C++害死人 2009-11-03 08:56 codejie

            ◎wu
            是的,我知道C++這樣是OK的。。。  回復(fù)  更多評(píng)論   

            公告

            Using C++

            導(dǎo)航

            統(tǒng)計(jì)

            留言簿(73)

            隨筆分類(513)

            積分與排名

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            无码任你躁久久久久久老妇| 日日躁夜夜躁狠狠久久AV| 婷婷五月深深久久精品| 亚洲乱码精品久久久久..| 久久国产乱子伦精品免费强| 精品久久久久久99人妻| 久久男人Av资源网站无码软件 | A级毛片无码久久精品免费| 99久久精品影院老鸭窝| 欧美黑人激情性久久| 日本精品久久久久中文字幕8| 久久天天躁夜夜躁狠狠| 国产亚洲成人久久| 97久久精品午夜一区二区| 国产精品久久久久久久app| 曰曰摸天天摸人人看久久久| 色婷婷综合久久久中文字幕| 久久亚洲色一区二区三区| 国产精品18久久久久久vr | 久久国产精品免费一区| 久久久久亚洲精品无码蜜桃| 久久综合久久伊人| 精品久久久久久无码国产| 一本色道久久88加勒比—综合| 精品国产青草久久久久福利| 一本色道久久88综合日韩精品 | 精品国产日韩久久亚洲| 成人午夜精品久久久久久久小说| 久久精品欧美日韩精品| 久久这里只有精品首页| 欧美亚洲国产精品久久高清| 2020久久精品亚洲热综合一本| 欧美粉嫩小泬久久久久久久| 久久精品人妻一区二区三区| 久久这里有精品视频| 亚洲国产成人精品女人久久久| 久久精品二区| 99久久免费国产精品特黄| 人妻无码αv中文字幕久久琪琪布 人妻无码精品久久亚瑟影视 | 97久久精品国产精品青草| 99久久人妻无码精品系列蜜桃|