• <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++害死人


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

            result:
            ?error:?syntax?error?before?
            "BOOL"
            ??? 為什么會這樣呢?因為啊,因此C語言沒有‘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
            ??? 為什么會這樣呢?因為啊,因為C語言的變量必須定義在類型前面。。。(這里錯了,請看評論)

            3.
            code:

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

            result:
            ?error:?syntax?error?before?
            "type"
            ??? 為什么會這樣呢?因為啊,因為C語言中enum,struct自定義類型在使用是需要在類型前面指明enum,struct什么的。。。。

            4. (這個是補充的)
            code:

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

            result:
            ?error:?redeclaration?of?enumerator?
            'tt'
            ????為什么會這樣呢?因為啊,因為啊,不說了。。這個問題太可怕了~

            ?? 算了,不說了,錯誤比代碼還多,感覺狠丟臉啊。。。看來要從新學習C語言了。。。
            ??? 不過,話說回來,C語言有啥好啊,要類型沒類型,要擴展沒擴展,要。。最主要的,沒有STL庫。。。對于我這樣需要對數據進行管理的代碼來說,簡直就是悲劇啊。。。。

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

            評論

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

            嘿嘿,我一直不會寫C,從來都木有學過 @_@  回復  更多評論   

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

            我記得當年你給我推薦過一本書,講的是C++內存的布置。因為要實現OOP的緣故,類的封裝開銷確實要比C大。我相信你還記得這個吧?

            對于臺式機來說,現在這點內存已經不算啥了。對于嵌入式系統,操作系統內核來說,這點開銷還是很多人在乎的……

            我現在工作的板子,內存才48M呢。整個Linux跑起來還要加載各種驅動模塊加上應用程序,JAVA虛擬機……內存很重要的  回復  更多評論   

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

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

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

            關于第2點不解,看英文描述不是說:在函數體外面聲明了動態數組。
            C99支持動態數組,但可能不允許作為全局變量定義。
            你的解說莫明其妙!  回復  更多評論   

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

            @Liu
            你的run環境比我這邊可憐好多。。。我們怎么也是兩個扳子,8G內存,4個CPU,24個核,還有一個不知道大小的Shared Memory。。。在我看來,這樣的條件下,完成可以使用C++來編寫程序了。目前從我得到的情況看,用C的緣由是因為你們A國人,只會用C。。。。
            我現在在努力把自己的腦袋變成C腦袋。。。  回復  更多評論   

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

            @wu
            嗯,你說的對,這個錯誤應該是由于動態數組的原因導致的。
            我不知道C99標準定義了什么,但我用GCC 3.46還是不支持的。
            想來比較好理解,程序加載時,全局變量在開始就初始了,由于在初始時并沒有初始順序的概念,因此可能存在不知道數組大小的情況,這樣,動態數組就無法初始,編譯錯誤也指出了問題所在。
            不知道我這樣理解是否正確,謝謝指點。  回復  更多評論   

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

            @codejie

            你們是局端設備,配置當然不是我們這些用戶端設備可以比擬的。

            不過你們真的可以用C++了,就是估計以前的傳統都是C,現在想改也難阿……  回復  更多評論   

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

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

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

            @Liu
            是啊,只有我迎合工作,沒有工作迎合我之說啊~  回復  更多評論   

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

            ◎wu
            是的,我知道C++這樣是OK的。。。  回復  更多評論   

            公告

            Using C++

            導航

            統計

            留言簿(73)

            隨筆分類(513)

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            亚洲精品无码久久千人斩| 亚洲国产日韩欧美久久| 伊人久久国产免费观看视频 | 伊人久久大香线焦综合四虎| segui久久国产精品| 国产成人综合久久综合| 亚洲综合伊人久久综合| 99久久香蕉国产线看观香| 亚洲国产天堂久久综合| 日日狠狠久久偷偷色综合96蜜桃| 91精品国产91久久| 精品久久人人做人人爽综合 | 国产亚洲精午夜久久久久久| 欧美一区二区三区久久综合 | 久久se精品一区二区影院| 18岁日韩内射颜射午夜久久成人| 久久久久久精品久久久久| 伊人久久大香线蕉综合Av| 久久午夜无码鲁丝片| 97久久久久人妻精品专区| 国产成人久久久精品二区三区| 99久久精品免费看国产免费| 久久午夜无码鲁丝片午夜精品| 亚洲综合久久久| 久久w5ww成w人免费| 精品久久久久一区二区三区| 国产精品亚洲综合久久| 国产精品99久久99久久久| 国产精品久久久久久久久久免费| 久久久免费观成人影院| 亚洲国产欧洲综合997久久| 久久―日本道色综合久久| 亚洲国产成人久久综合区| 久久99精品久久久久久久不卡| 国产叼嘿久久精品久久| 久久久久久精品成人免费图片| 久久精品国产69国产精品亚洲| 色综合久久88色综合天天 | 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 中文字幕热久久久久久久| 无码精品久久久天天影视|