❶ C++編譯系統如何對函數聲明編譯
編譯系統不會對函數聲明編譯。它只編譯函數實體。函數聲明作為c++語法,是為了防止程序員編寫同命同參數的函數。
❷ volatile的具體使用
//引用別人的。
volatile 影響編譯器編譯的結果,指出,volatile 變數是隨時可能發生變化的,與volatile變數有關的運算,不要進行編譯優化,以免出錯,(VC++ 在產生release版可執行碼時會進行編譯優化,加volatile關鍵字的變數有關的運算,將不進行編譯優化。)。
例如:
volatile int i=10;
int j = i;
...
int k = i;
volatile 告訴編譯器i是隨時可能發生變化的,每次使用它的時候必須從i的地址中讀取,因而編譯器生成的可執行碼會重新從i的地址讀取數據放在k中。
而優化做法是,由於編譯器發現兩次從i讀數據的代碼之間的代碼沒有對i進行過操作,它會自動把上次讀的數據放在k中。而不是重新從i裡面讀。這樣以來,如果i是一個寄存器變數或者表示一個埠數據就容易出錯,所以說volatile可以保證對特殊地址的穩定訪問,不會出錯。
❸ java 使用變數之前為什麼必須先聲明
因為聲明了,運行時計算機才能劃分計算機空間給他。根據變數不同,或者在堆里,或者在棧里。
使用,就是讀寫這個空間內的值,但是沒有聲明的話,連存在的空間都沒有,那麼讀寫也就無從談起。
❹ c++中變數和函數聲明編譯和程序執行時是什麼機制
你說的這個機制是 .c文件編譯成.o文件最後生成可執行文件你說的剩下那部分定義的函數在執行時會不會被讀取?沒有讀取的說法。你應該是指有沒有被調用吧?函數是否會執行,取決於調用者。第三個問題字數限制回答不了
❺ Pro*c 中怎麼聲明編譯模式為ANSI
選項名稱 : type_code=字元串
當前值 : oracle
限制 : ansi, oracle
說明 : 使用 Oracle 或動態 SQL 的 ANSI 類型代碼
❻ 找個翻英文聲音編譯器
告訴你個辦法,下載google的工具條,上面有翻譯一項,你用的時候,網頁里的英文都會有中文解釋出來了。
❼ C語言:函數聲明的問題
聲明函數的時候必須聲明類型,沒有返回值也要設成void
swap(int *p4,int *p5);/*這是對swap函數的聲明*/
改成這樣
void swap(int *p4, int *p5);
還有這個
swap(int *p1,int *p2)
{int p;
p=*p4;*p4=*p5;*p5=p;
}
改成
void swap(int *p1,int *p2)
{int p;
p=*p4;*p4=*p5;*p5=p;
}