導航:首頁 > 源碼編譯 > 編譯器可以放變數嗎

編譯器可以放變數嗎

發布時間:2022-01-21 10:21:21

Ⅰ C語言中已經聲明或定義的變數如果在代碼中沒有使用到,編譯器會怎樣處理

就一直在那裡放著。如果是全局變數,編譯器連提示都沒有;若是局部變數編譯器在編譯時會提醒說某某局部變數沒有使用;若你不理會,在代碼修改前就不會再提醒了。這些變數未使用,卻一直佔用著內存空間,但不影響代碼的正確性……

Ⅱ 當編譯器碰到一個變數定義時,它必須做哪三件事情

檢查變數名是否合法,確定數據類型,指定(分配)內存地址

Ⅲ 編譯器怎麼知道是全局變數還是局部變數

這個要細說,能說的很詳細,我說一下,比較好理解的你就懂了!
我說之前先打個比方:小區人家,幾十戶,每家每戶都有燈光自己用就是局部的
月亮..全局的.都能用懂了?
按照目前的面向對象來說如java,C++,C#,Ruby中,由於變數都是封裝在類裡面的,對別的類不可見,所以已經幾乎完全拋棄了全局變數的概念。然而,可以通過把一個類定義為public static,把類成員變數也定義為public static,使該變數在內存中佔用固定、唯一的一塊空間,來實現全局變數的功能。
說通俗點,你如果想理解,就假如在一個類中,看你定義的變數,位置!類中,方法外面,就屬於全局,每個方法都能拿去用..方法裡面定義的,就屬於局部的,只能他自己用.懂了?
和你一樣初學者,不足之處還請指點!

Ⅳ 哪個C++編譯器寫代碼時可以顯示自己定義的變數(除了VS外),可以支持STL等,新生求解

編譯器怎麼顯示自己定義的變數,他只是負責將源碼生成執行文件,stl是C++的標准庫,基本上C++編譯器都支持。

Ⅳ 問一下各位,c語言編譯器是如何處理變數名的呢

編譯器編譯到int a;時就在內存中開辟一個兩位元組的內存空間,並且命名為a

Ⅵ 編譯器在編譯的時候做了什麼給申明的變數分配內存

第一是將java文件編譯成位元組碼文件 就是class文件 給jvm執行
第二就是分配常量池 就是給你代碼裡面的變數和方法分配空間

Ⅶ 編譯器如何識別字元是關鍵字還是變數名的

編譯過程大概分這么幾步
首先用有限狀態自動機把代碼文本分割成一個一個的token,每個token是一個意義單位,
比如
int main(123);
就被分割成了
int
main

123


然後對token列表根據該語言的語法建立語法樹,在建立語法樹的過程中就要區分某個單詞是關鍵字還是標識符(也就是變數名),一般來講編譯器一般都有一個保留字列表,開始的時候都當作變數名看待,如果發現某個變數名出現在了保留字列表裡,就對其進行標識處理。

Ⅷ C語言中的變數可以在使用之前任何位置進行定義嗎

全局變數,可以在函數外任何位置定義。

局部變數的合法定義位置,依賴於編譯器遵循的C規范版本。

1、僅支持C89規范的編譯器,只支持在作用域起始部分定義變數。

比如:

voidfunc(void)
{
inta=1;//函數體起始位置。
if(a>0)//其實這個判斷沒有意義,僅為提供樣例。
{
intb=2;//判斷部分{}的起始位置。
printf("%d ",b);
}
}

如果寫成

voidfunc(void)
{
inta;//第一個定義,合法。
a=1;//執行一個語句。
intb;//這個定義不在作用域起始處,編譯會報錯。

}

二、支持C99或者部分支持C99的編譯器:

局部變數可以定義在任何位置。

之前的第二個例子中的定義方式,在這種編譯器下是合法的。

甚至部分支持C99全面的編譯器,支持

for(inta=0;a<100;a++)

在for中定義變數。

三、目前大多數編譯器,均支持任何位置定義變數,但僅有少部分支持for中定義變數,所以在編碼時,不建議for中定義,會降低可移植性。

Ⅸ c編譯器將變數分配在 什麼存儲器

DEV C++TurboC2.0Visual studio 6.0Code::Blocks以上幾款編輯器都可以在64位系統中運用。按照步驟如下:以Code::Blocks為例1首先下載下載Codeblocks這個軟體,目前最新版本是13.12,2這個軟體是英文的,所以軟體是英文界面,建議讀者使用英文版,不要去使用漢化版本,畢竟C語言是外國人開發的,所以用英文的界面會比較適合以後的能力提供,這個界面直接點擊【I Agree】,進如下一步安裝3這個是選擇安裝模式的界面,一般你的電腦是一個賬戶的,不是多人使用的電腦,所以這里選擇Full就行了,就是給電腦所有用戶安裝4來到這個界面選擇安裝路徑,這里強烈建議修改下安裝路徑,不建議使用默認的路徑,默認的路徑中【Program Files】中有一個空格,以後安裝一個插件可能會出問題,所以建議自己建立一個文件作為該軟體的安裝路徑,比如這里是在D盤建立了一個Develop的文件夾,作為開發軟體的安裝路徑,然後安裝路徑就選擇了D:\Develop\CodeBlocks,這里可以根據自己實際情況定義。5安裝結束之後,彈出提示是否運行Code::Blocks,這里都可以選,選擇運行6Code::Blocks的啟動界面,這里是13.12版本,在上述經驗有說到7這個直接選擇Set as default就行了,因為此時你還沒有安裝其他的插件,所以其他的選項是灰色的,然後點擊OK8緊接著看到的就是軟體的這界面,這個界面就是Code::Blocks的界面

Ⅹ 怎麼添加編譯器環境變數。。謝謝。

計算機->屬性->高級系統設置->環境變數->「你的編譯器的路徑」

閱讀全文

與編譯器可以放變數嗎相關的資料

熱點內容
android圖片變灰 瀏覽:268
linuxvi下一個 瀏覽:973
安卓手機的應用鎖怎麼解 瀏覽:735
linux增加路徑 瀏覽:849
sql身份證號最後四位加密 瀏覽:533
xp系統表格加密 瀏覽:856
光遇安卓軍大衣什麼時候上線 瀏覽:840
android應用商店圖標 瀏覽:341
java計算圓的面積 瀏覽:643
應用編譯優化recovery 瀏覽:577
域控命令n 瀏覽:258
php導出文件 瀏覽:13
谷歌地圖網頁版無法連接伺服器地址 瀏覽:298
菜鳥工具在線編譯python 瀏覽:858
柵格化命令有何作用 瀏覽:823
為什麼壓縮文件不能解壓 瀏覽:311
足球app哪個軟體好 瀏覽:96
產品經理逼瘋程序員的一天 瀏覽:17
修改svn伺服器ip地址 瀏覽:584
下列關於編譯說法正確的是 瀏覽:246