⑴ devc是編譯器嗎
是,c語言編譯器,是一款比較好的編程軟體,寫cc++的一個編碼利器,方便快捷。可以修改成中文,
雙擊打開「Dev-c++」,接著點擊「Tools」。
點擊「Envirnoment Options」,然後點擊「Language」下的「English(Original)」方框。
3
點擊「簡體中文/Chinese」,最後點擊「OK」。
⑵ 初學C語言,有關於編譯器Dev-c++的
我們老師教我們最好在末尾加一個:
scanf ("%d",&a);
最好是用文件輸入輸出。(安全,而且輸入值不需要運行一次輸入一次)
我還發現一個錯誤:Dev-c++中主函數是不能用「void」的,你用「int」,末尾加「return 0;」(你是不是在C++窗口下面看到「'main' must return 'int'」?)
如果你將「int max(int x,int y)
{
int z;
if (x>y) z=x;
else z=y;
return(z);
} 」
調到『main』前面就可以省略『main』當中的「int max(int x,int y); 」
我幫你改成:
#include <iostream>//C++的輸入輸出流
using namespace std;//必要,表示是標准流,才能用cin,cout
int max(int x,int y)
{int z;
if (x>y)
z=x;
else
z=y;
return(z);
}
int main (void) //必須用int,末尾加return 0;返回給計算機一個正常結束值。void可以減少編譯時間
{int a,b,c;
cin>>a>>b; //輸入輸出流表示
c=max(a,b);
cout<<"the max is "<<c<<endl; //endl表示換行
cin>>a;//等待輸入,不讓屏幕跳回後台
return 0;
}
⑶ C++編譯器Dev-c++
Dev c++並不是編譯器,而是一個IDE(集成開發環境),他使用的編譯器是GCC和g++。而GCC是目前對ASCII c,g++是對ISO c++ 支持最好的編譯器,信息學競賽認可的是ASCII c和ISO c++ ,因此用dev c++編譯出來的東西提交後才能保證不出意想不到的錯誤
⑷ Dev-c++編譯器怎麼用請各位前輩解答一下
上面的三個是編譯和運行,一般我是按F9,就直接編譯運行了,新建一個c++源程序,點文件新建那,有源程序和工程,就ok啦
⑸ GCC是什麼 常聽到有人說他學的是Visual C,有人學的什麼Dev C,有人學的是GCC,
GCC 編譯器是 linux 系統下最常用的 C/C++ 編譯器,大部分 Linux 發行版中都會默認安裝。GCC 編譯器通常以gcc命令的形式在終端(Shell)中使用,它有很多選項。
MicrosoftVisual
Studio(簡稱VS)是美國微軟公司的開發工具包系列產品。VS是一個基本完整的開發工具集,它包括了整個軟體生命周期中所需要的大部分工具,如UML工具、代碼管控工具、集成開發環境(IDE)等等。所寫的目標代碼適用於微軟支持的所有平台,包括MicrosoftWindows、WindowsMobile、WindowsCE、.NETFramework、.NETCompactFramework和MicrosoftSilverlight及WindowsPhone。
Dev-C++
Dev-C++是一個Windows環境下C/C++的集成開發環境(IDE),它是一款自由軟體,遵守GPL許可協議分發源代碼。它集合了MinGW等眾多自由軟體,並且可以取得最新版本的各種工具支持,而這一切工作都是來自全球的狂熱者所做的工作。Dev-C++是NOI、NOIP等比賽的指定工具,缺點是Debug功能弱。Dev-C++最新版本:5.11.0。
⑹ C++編譯器(Dev-C)是否會自動內聯函數 對於什麼樣的函數即使標記inline也會拒絕內聯
G++編譯器是否會自動進行內聯函數?
G++編譯器是很先進的,編譯的時候如果開啟優化,G++會代碼進行各種優化,如:對合適的函數進行內聯(即便是沒有添加inline關鍵字),對某些函數直接對其進行求值,除此之外G++編譯器還可以對代碼進行重排序 等等。編譯器比你更了解硬體,所以只要允許它優化,他會盡量進行優化。你使用的Dev C++集成開發環境使用的c++編譯器就是G++。
什麼樣的函數即使標記inline也無法內聯?
比如函數體太大、太復雜的話(比如包含多重循環、包含遞歸調用),對其進行內聯得不償失,這時編譯器就會忽略inline關鍵字,VC++編譯器提供了強制內聯函數的關鍵字,除非你非常了解硬體,不然最好讓編譯器來處。編譯不對那些函數進行內聯要看具體的編譯器實現了。
inline關鍵字的有哪些作用?
inline關鍵字可以提示編譯器對某個函數進行內聯,並且強制函數使用內部鏈接。比如說你在頭文件定義了某個函數,為了防止多重定義,你可以添加inline關鍵字來防止多重定義錯誤。
如果對硬體不是很了解,底層的代碼優化還是留給編譯器來處理。
看看下面的幾個編譯器優化函數的例子:
1.編譯器直接對函數求值:
解釋一下:
第一條和第二天指令分別將b和a的地址載入到寄存器rdx和rcx中
第三條指令將b的值載入到eax寄存器中
第四條指令將34存入b中
第五條指令將eax的值加1(eax保存了之前b的值)
第六條指令將eax的值存入a中
可以看出編譯器將函數的兩條語句換了位置,這種優化主要是優化代碼的執行速度,有的CPU內存讀寫操作的的開銷不一樣,所以重新排序一下某些代碼能夠提高程序執行速度。
⑺ 用dev-c++編譯器對C語言程序進行編譯有什麼局限性
首先,Dev-C++不是編譯器,僅僅是編譯環境。
其次,Dev-C++用的編譯器是在Windows環境下模擬Linux G++的MinGW,據說G++是完全標準的C++編譯器。
但模擬後因為系統不完全兼容,編譯出的結果在Windows環境下不如VC++編譯結果快。寫C的話,因為是C++兼容C,速度達不到最優。如果對程序結果質量有高要求的話,建議換Turbo C這款經典的C編譯器。(用C++編譯器影響不大,基本上1000000以內語句執行次數,或者說1000行代碼以內看不出明顯區別)
⑻ c++誰給我解釋一下這是為什麼用的dev編譯器
在實際調試過程中,b,c的地址是完全相同的,我想是因為聲明三個變數的時候,未實例化的原因。
cin>>a;使得a得到實例化,所以地址與b,c不同,實際上,賦值語句,只寫
b[0] = a[0];
b[1] = a[1];
b[2] = a[2];
此時輸出的b和c也是一樣的。
若string類變數聲明的時候,明確實例化,則不會有此問題:
string a = "A";
string b =" ";
⑼ C語言編程題,DEVC編譯器
#include<stdio.h>
#include<string.h>
intmain()
{
intn,i,j;
charout='a';
scanf("%d",&n);
for(i=0;i<n-1;++i){
for(j=0;j<i;++j){
printf("");
}
printf("%c",out);
out++;
if(out>'h')out='a';
for(j=0;j<(n-1-i)*2+1;++j){
printf("");
}
printf("%c",out);
out++;
if(out>'h')out='a';
printf(" ");
}
for(j=0;j<=i;++j){
printf("");
}
printf("%c",out);
return0;
}
/*
ab↙
cd↙
ef↙
gh↙
a↙
*/
⑽ turbo c和dev c的區別是什麼
Turbo C 是windows上的C開發程序,是基於DOS上使用的,一般教學用的比較多。dev c 是windows版本的GCC,它的好處是可以在windows上寫能在linux上的代碼,當然它主要是寫基於windows的程序。
這里有必要給你介紹一下gcc,gcc 是Richard Stallman開發的,是GNU 開源工具,是linux上通用C編譯器,非常牛兒的,是目前編譯效果最好的C編譯器!dev c是windows下的GCC
在介紹一下其他C開發工具例如IBM、 inter、微軟的,他們開發的C編譯器都是有針對性的,都是對自己系統、硬體做了優化的。
對於初學者使那種編譯器都一樣,開始學C語言和使那種編譯器無關,因為無論哪個編譯器,都運行你的寫的代碼。
我用的是dev c,因為這樣我可以把我寫的代碼運行在各類操作系統上,也可以運行在很多種特殊情況下!簡直非常牛兒!
這里也有我對這個問題的介紹
到內存長度問題就不可以!
我用的是dev c 不同的編譯器都對C做了很多特別的限制和自己的特性。
例如:在Tubor C上 int 長度為2位元組
在 Deb C 上 int 長度為4位元組
在DEV 上你可以賦值給int 類型的變數的值超過70000以上,如果這個賦值給在 Tubor C上 int 類型變數就溢出了,編譯器就會報錯。
這只是一部分,當你越對C深入,你就越了解編譯器,越覺得編譯器的重要性,如果涉及到移植、底層開發,就必須在指定的編譯器上開發。
對於初學者,用哪個編譯器都無所謂的,我覺得還是至少了解2種以上編譯器為好,這對了解C有幫助的!