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

            wsgyj

             

            2009年9月20日

            關(guān)于VC中 error C2871: 'std' : does not exist or is not a namespace

            今天寫了個(gè)程序用了如下代碼

            #include <iostream.h>
            using namespace std;
            然后編譯時(shí)出現(xiàn)  error C2871: 'std' : does not exist or is not a namespace

            查了一下,原來 C++有兩個(gè)不同版本的頭文件。引入名字空間這個(gè)概念以前編譯器用的是#include   <iostream.h>,
            而引入名字空間的概念以后std名字空間的頭文件名字變成了<iostream>。

            <iostream.h>是比較老的C++的頭文件的版本,而namespace是98年才被加入C++標(biāo)準(zhǔn)的,所以<iostream.h>里面是沒有std這么個(gè)命名空間的,當(dāng)使用 <iostream.h>時(shí),相當(dāng)于在c中調(diào)用庫函數(shù),使用的是全局命名空間,也就是早期的c++實(shí)現(xiàn)。頭文件<iostream>則沒有定義全局命名空間,使用時(shí)必須使用namespace std才能正確使用cout。

              vc6.0支持這個(gè)兩個(gè)版本. 不過現(xiàn)在都用<iostream>了  

            所以只需將以上語句改為:
            #include <iostream>
            using namespace std;
            或者是  #include <iostream.h>即可。

            posted @ 2009-09-20 21:41 gyj 閱讀(1633) | 評(píng)論 (0)編輯 收藏

            2009年9月11日

            C數(shù)組定義不可省略第二維及更高的維數(shù) 原因分析

            C語言書中寫到在定義二維數(shù)組時(shí),可以省略第一維的坐標(biāo),如  int a[][3] = {{4,1,6},{2,3,5}};  是合法的
            但是不可以省略二維或者更高維的坐標(biāo)。 如  int a[3][] = {{4,1,6},{2,3,5}}; 是不合法的

            這是由編譯器原理限制的。 如 定義a[2][3], 在我們引用數(shù)組元素a[1][2]時(shí) 編譯器的尋址方式是 a+ 1*3+2,若不指定第二維
                                                                    則編譯器將不知道數(shù)組的列數(shù)也就無法尋址。

            posted @ 2009-09-11 21:11 gyj 閱讀(766) | 評(píng)論 (0)編輯 收藏

            2009年9月9日

            C語言編譯過程

            C編譯的整個(gè)過程很復(fù)雜,大致可以分為以下四個(gè)階段:
            1)預(yù)處理階段
            在該階段主要完成對(duì)源代碼的預(yù)處理工作,主要包括對(duì)宏定義指令,頭文件包含指令,預(yù)定義指令和特殊字符的處理,如對(duì)宏定義的替換以及文件頭中所包含的文件中預(yù)定義代碼的替換等,總之這步主要完成一些替換工作,輸出是同源文件含義相同但內(nèi)容不同的文件。
            2)編譯、優(yōu)化階段
            編譯就是將第一階段處理得到的文件通過詞法語法分析等轉(zhuǎn)換為匯編語言。
            優(yōu)化包括對(duì)中間代碼的優(yōu)化,如刪除公共表達(dá)式,循環(huán)優(yōu)化等;和對(duì)目標(biāo)代碼的生成進(jìn)行的優(yōu)化,如如何充分利用機(jī)器的寄存器存放有關(guān)變量的值,以減少內(nèi)存訪問次數(shù)。
            3)匯編階段
            將匯編語言翻譯成機(jī)器指令
            4)鏈接階段
            鏈接階段的主要工作是將有關(guān)的目標(biāo)文件連接起來,即將在一個(gè)文件中引用的符號(hào)同該符號(hào)在另外一個(gè)文件中的定義連接起來,使得所有的目標(biāo)文件成為一個(gè)能夠被操作系統(tǒng)裝入執(zhí)行的統(tǒng)一整體。

            posted @ 2009-09-09 16:00 gyj 閱讀(832) | 評(píng)論 (1)編輯 收藏

            僅列出標(biāo)題  

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            亚洲精品无码久久久久久| 国产精品gz久久久| 色综合久久夜色精品国产| 久久精品国产亚洲av麻豆图片| 日韩人妻无码一区二区三区久久 | 亚洲欧美成人久久综合中文网 | 久久人人爽人人爽人人片AV麻豆| 免费精品国产日韩热久久| 国产精品免费看久久久| 久久伊人影视| 久久精品免费观看| 久久久久久久波多野结衣高潮| 久久精品免费一区二区三区| 久久久久久精品久久久久| 精品久久久久久国产牛牛app| 亚洲国产精品无码久久久蜜芽| 国产精品成人精品久久久 | 久久亚洲AV无码精品色午夜麻豆| 久久国产精品国产自线拍免费 | 日韩精品无码久久一区二区三| 久久综合给合久久国产免费 | 国内精品久久久久影院老司| 91精品国产综合久久四虎久久无码一级| 狠狠色狠狠色综合久久| 久久青青草原精品国产不卡| 狠狠色丁香久久综合婷婷| 色诱久久久久综合网ywww| 偷窥少妇久久久久久久久| 伊人久久无码精品中文字幕| 久久亚洲AV永久无码精品| 久久综合久久综合久久综合| 免费国产99久久久香蕉| 国内精品久久久久久99蜜桃 | 欧美色综合久久久久久| 久久久99精品一区二区| 久久精品国产亚洲Aⅴ香蕉| 国产—久久香蕉国产线看观看| 久久综合久久综合久久综合| 热re99久久精品国产99热| 久久国产精品免费一区二区三区| 久久精品一区二区国产|