❶ 適合win10系統的c語言編譯器
桌面操作系統
對於當前主流桌面操作系統而言,可使用 VisualC++、GCC以及 LLVM Clang 這三大編譯器。
Visual C++(簡稱 MSVC)只能用於 Windows 操作系統;GCC 和 LLVM Clang除了可用於Windows操作系統之外,主要用於 Unix/Linux操作系統。
像現在很多版本的 Linux 都默認使用 GCC 作為C語言編譯器,而像 FreeBSD、macOS 等系統默認使用 LLVM Clang 編譯器。由於當前 LLVM 項目主要在 Apple 的主推下發展的,所以在 macOS中,Clang 編譯器又被稱為 Apple LLVM 編譯器。
MSVC 編譯器主要用於 Windows 操作系統平台下的應用程序開發,它不開源。用戶可以使用 Visual Studio Community 版本來免費使用它,但是如果要把通過 Visual Studio Community 工具生成出來的應用進行商用,那麼就得好好閱讀一下微軟的許可證和說明書了。
而使用 GCC 與 Clang 編譯器構建出來的應用一般沒有任何限制,程序員可以將應用程序隨意發布和進行商用。
MSVC 編譯器對 C99 標準的支持就十分有限,加之它壓根不支持任何 C11 標准,所以本教程中設計 C11 的代碼例子不會針對 MSVC 進行描述。所幸的是,Visual Studio Community 2017 加入了對 Clang 編譯器的支持,官方稱之為——Clang with Microsoft CodeGen,當前版本基於的是 Clang 3.8。
也就是說,應用於 Visual Studio 集成開發環境中的 Clang 編譯器前端可支持 Clang 編譯器的所有語法特性,而後端生成的代碼則與 MSVC 效果一樣,包括像 long 整數類型在 64 位編譯模式下長度仍然為 4 個位元組,所以各位使用的時候也需要注意。
為了方便描述,本教程後面涉及 Visual Studio 集成開發環境下的 Clang 編譯器簡稱為 VS-Clang 編譯器。
嵌入式系統
而在嵌入式系統方面,可用的C語言編譯器就非常豐富了,比如:
用於 Keil 公司 51 系列單片機的 Keil C51 編譯器;
當前大紅大紫的 Arino 板搭載的開發套件,可用針對 AVR 微控制器的 AVRGCC 編譯器;
ARM 自己出的 ADS(ARM Development Suite)、RVDS(RealView Development Suite)和當前最新的 DS-5 Studio;
DSP 設計商 TI(Texas Instruments)的 CCS(Code Composer Studio);
DSP 設計商 ADI(Analog Devices,Inc.)的 Visual DSP++ 編譯器,等等。
❷ 都有哪些好的c語言編譯器阿
1. GCC
大名鼎鼎的GNU的C/C++/Obj-C編譯器, 當前版本是2.8.1, 但據說與2.7.*有兼容性
問題. 而使用較廣的是gcc 2.7.2系列, 如RedHat5中帶的就是gcc 2.7.2.3
有時候在Cyrix上用gcc會有些問題, 因此有一套針對Cyrix特點的gcc 2.7.2.3
我這里有RedHat5的rpms ftp://166.111.68.98/pub/Warez-CD/Huricane-contrib
(Cyrix 2.7.2.3 & 2.8.1)
其基本結構就是一個front end和back end,
/usr/bin/gcc 就是個front end, 其kernel東西都放在 /usr/lib/gcc-lib下面,
cpp是C預處理器, cc1*的1M多的就是編譯器的核心模塊了
cc1 C compiler
cc1plus C++ compiler
cc1obj Object-C compiler
但gcc並沒有集成Fortran的compiler, 一般要用f2c轉成C後才用gcc編譯
好象也還有個g77 Fortran compiler吧?
gcc的不斷發展完善使許多commercial compiler都相形見絀, 那當然, gcc/emacs
都由GNU創始人Richard Stallman手創, 是GNU的旗艦產品, 質量當然沒得說了:-)
由於 Unix平台的高度可移植性, gcc幾乎在各種常見的Unix平台上都有, 即使是
Win32/DOS也有gcc的port. 比如說該死的Solaris普通版本連compiler都沒有, 也
就只好用gcc了...
2. EGCS(Experimental/Enhanced GNU Compiler System)
這是gcc的發展方向, 把fortran等編譯器集成進來, 也許還會有Pascal?
它的構造很清晰, 把對gcc的各種改進/port都集成回去. 如gcc 2.7系列據說是
沒有對Pentium進行優化的, 而egcs則把pgcc對Pentium的一些優化集成進去了
現在gcc的開發工作主要就是egcs, 由Cygnus公司領導(?), 這Cygnus公司還是很
不錯的, 還出了GNU-Win32, SourceNavigator等, 是GNU的堅實擁護者:-))
http://egcs.cygnus.com
包括了C/C++/Obj-C/Fortran 編譯器, 當前最新版本1.0.2, 還在不斷開發中
昨天download發現KDE Beta4都用egcs編譯了 :-)
Fortran集成進來後在/usr/lib/gcc-lib下又多了個f771的back end, 當然
還是g77/f77 編譯
我這里有egcs 1.0.2 的rpm 在RH5-CD/collect下面
3. PGCC(Pentium GCC)
http://www.gcc.ml.org
針對Pentium CPU進行了編譯器優化的compiler
pgcc據說用JPEG壓縮解壓縮測試最快可比gcc快 30%!
新版的pgcc都是基於egcs的, 以一個patch的形式release
❸ 我的電腦CPU是AMD的,用什麼樣的C語言編譯器最好,
你用什麼程序和你使用什麼CPU無關。C語言的編譯器有TC2.0,TC3.0,VC++用哪一種要看你的學習適合哪一種,是以你的使用范圍參考,而不是CPU種類參考
❹ C語言編譯器有哪些各有什麼特點
C語言編譯器目前主要有VC++、dev-C++、C-Free、win-TC、TC 2.0等等。
其中比較經典的VC++,微軟的產品,編譯器,鏈接器,運行,調試等功能於一體的強大開發工具,特點是功能十分強大,對於新手來說需要一段時間去摸索。
dev-C++是windows下一款開發c/c++的開發環境,使用gcc為編譯器,遵循標准,功能比較強大,語法高量,可以進行單步調試(這對排除錯誤很重要),進行斷點設置等功能,遵循C標准,是一款很強大的開發工具。
C-Free是一款支持多種編譯器的專業化C/C++集成開發環境(IDE)。利用C-Free,使用者可以輕松地編輯、編譯、連接、運行、調試C/C++程序。
TC 2.0:Borland公司的產品,在dos界面下編譯運行,小巧、靈活,但是不能使用滑鼠。
win-TC:在tc2.0的基礎上加上了界面,能夠使用滑鼠,具有語法高量,可以嵌入匯編等特點,對新手一些,拜託了不能用滑鼠的困難。
編譯器,簡單講,就是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。一個現代編譯器的主要工作流程:源代碼 (source code) → 預處理器 (preprocessor) → 編譯器 (compiler) → 目標代碼 (object code) → 鏈接器(Linker) → 可執行程序 (executables)。
❺ c語言用什麼編譯器
c語言可以用的編譯器有很多,包括MicrosoftVisualC++、MyEclipse、TurboC和gcc編譯器等。❻ 最早的C語言編譯器是什麼做的
匯編。這真的是最早最早的。
准確的來說,這和編譯器的開發有關,不用說太細,很麻煩怕你不懂。你現在假設第一個編譯器是用會變寫出來的,它的功能很簡單,就是解釋簡單一種類似於C語言的高級語言,但是這種所謂的高級語言還沒有完全擁有C語言的所有特性。只有比較簡單核心功能,比如能把文本文件的高級語言轉換成機器代碼並且執行。
有了這個原型之後,就可以用這個編譯器來解釋簡單C程序,就可以用C重寫編寫一個新的編譯器,這樣就有更多的C的功能。於是,從此之後就用現有的編譯器解釋更復雜的語言,用更復雜的語言寫出更好的編譯器,然後不斷這樣迭代。這確實是編譯器的演變。
然後最後一個問題就是當一個新的CPU發明過後,怎麼辦,需要重寫又從匯編開始寫編譯器嗎?答案是不用。假設你有一個CPU A執行一些代碼,你用匯編寫了一個基礎的C編譯器,然後用C寫出了更復雜的編譯器,接受更復雜的C功能,然後不斷循環演化。現在你有了CPU B,CPU B和CPU A執行兩套完全不同的代碼,那如何讓CPU B的機器也可以變異C語言呢?因為現在A上面已經可以運行非常復雜的C語言程序了,所以你可以在A上面開發一個編譯器把C語言程序轉化為CPU B的執行代碼。然後用這個程序,直接編譯你的C語言編譯器,再把這個程序轉換到有B命令集的電腦上面,這樣你就開發出了B電腦需要的C語言編譯器。
所以除非你真的是活在非常早起的人類。否在現在的編譯器基本上都利用這種原理直接編譯已經用C語言或者其它高級語言寫好的代碼來產生新的編譯器就行了。理論上可以只使用C語言來開發C的編譯器,不過處於一些歷史原因和底層效率等因素的考量,部分代碼還是使用匯編來實現的。
我舉得不過是一個例子,不一定是真實的C語言編譯的進化,何況有這么多不同的C語言編譯器,每一個的發展歷史都有小的不同。但是基本上都是利用了這種編譯器編譯新的編譯器的思想來實現了。而這樣回溯回去,最早的編譯器只能使用匯編來些。而其實最早的匯編語言的編譯器就只能使用機器語言來寫了。不過都是先處理簡單的轉換任務,有了這個核心功能過後,就可以寫程序轉換更復雜的語法。然後越來越復雜。就有了各種各樣的高級語言編譯器了。
❼ c語言編譯器哪個好
1.
GCC
大名鼎鼎的GNU的C/C++/Obj-C編譯器,
當前版本是2.8.1,
但據說與2.7.*有兼容性
問題.
而使用較廣的是gcc
2.7.2系列,
如RedHat5中帶的就是gcc
2.7.2.3
有時候在Cyrix上用gcc會有些問題,
因此有一套針對Cyrix特點的gcc
2.7.2.3
我這里有RedHat5的rpms
ftp://166.111.68.98/pub/Warez-CD/Huricane-contrib
(Cyrix
2.7.2.3
&
2.8.1)
其基本結構就是一個front
end和back
end,
/usr/bin/gcc
就是個front
end,
其kernel東西都放在
/usr/lib/gcc-lib下面,
cpp是C預處理器,
cc1*的1M多的就是編譯器的核心模塊了
cc1
C
compiler
cc1plus
C++
compiler
cc1obj
Object-C
compiler
但gcc並沒有集成Fortran的compiler,
一般要用f2c轉成C後才用gcc編譯
好象也還有個g77
Fortran
compiler吧?
gcc的不斷發展完善使許多commercial
compiler都相形見絀,
那當然,
gcc/emacs
都由GNU創始人Richard
Stallman手創,
是GNU的旗艦產品,
質量當然沒得說了:-)
由於
Unix平台的高度可移植性,
gcc幾乎在各種常見的Unix平台上都有,
即使是
Win32/DOS也有gcc的port.
比如說該死的Solaris普通版本連compiler都沒有,
也
就只好用gcc了...
2.
EGCS(Experimental/Enhanced
GNU
Compiler
System)
這是gcc的發展方向,
把fortran等編譯器集成進來,
也許還會有Pascal?
它的構造很清晰,
把對gcc的各種改進/port都集成回去.
如gcc
2.7系列據說是
沒有對Pentium進行優化的,
而egcs則把pgcc對Pentium的一些優化集成進去了
現在gcc的開發工作主要就是egcs,
由Cygnus公司領導(?),
這Cygnus公司還是很
不錯的,
還出了GNU-Win32,
SourceNavigator等,
是GNU的堅實擁護者:-))
http://egcs.cygnus.com
包括了C/C++/Obj-C/Fortran
編譯器,
當前最新版本1.0.2,
還在不斷開發中
昨天download發現KDE
Beta4都用egcs編譯了
:-)
Fortran集成進來後在/usr/lib/gcc-lib下又多了個f771的back
end,
當然
還是g77/f77
編譯
我這里有egcs
1.0.2
的rpm
在RH5-CD/collect下面
3.
PGCC(Pentium
GCC)
http://www.gcc.ml.org
針對Pentium
CPU進行了編譯器優化的compiler
pgcc據說用JPEG壓縮解壓縮測試最快可比gcc快
30%!
新版的pgcc都是基於egcs的,
以一個patch的形式release
❽ 常見的C語言編譯器是什麼
目前最流行的C語言編譯器有以下幾種:
1、GNU Compiler Collection 或稱GCC
GCC(GNU Compiler Collection,GNU編譯器套件),是由 GNU 開發的編程語言編譯器。它是以GPL許可證所發行的自由軟體,也是 GNU計劃的關鍵部分。
GCC原本作為GNU操作系統的官方編譯器,現已被大多數類Unix操作系統(如Linux、BSD、Mac OS X等)採納為標準的編譯器,GCC同樣適用於微軟的Windows。GCC是自由軟體過程發展中的著名例子,由自由軟體基金會以GPL協議發布。
2、Microsoft C 或稱 MS C
Microsoft C 是c語言的一種IDE(集成開發環境),常見的還有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,High C,Turbo C等等......
3、Borland Turbo C 或稱 Turbo C
Turbo C是美國Borland公司的產品,Borland公司是一家專門從事軟體開發、研製的大公司。該公司相繼推出了一套 Turbo系列軟體, 如Turbo BASIC, Turbo Pascal, Turbo Prolog, 這些軟體很受用戶歡迎。
(8)c語言編譯器用國產cpu擴展閱讀:
C編譯的整個過程很復雜,大致可以分為以下四個階段:
1、預處理階段在該階段主要完成對源代碼的預處理工作,主要包括對宏定義指令,頭文件包含指令,預定義指令和特殊字元的處理,如對宏定義的替換以及文件頭中所包含的文件中預定義代碼的替換等,總之這步主要完成一些替換工作,輸出是同源文件含義相同但內容不同的文件。
2、編譯、優化階段編譯就是將第一階段處理得到的文件通過詞法語法分析等轉換為匯編語言。優化包括對中間代碼的優化,如刪除公共表達式,循環優化等;和對目標代碼的生成進行的優化,如如何充分利用機器的寄存器存放有關變數的值,以減少內存訪問次數。
3、匯編階段將匯編語言翻譯成機器指令。
4、鏈接階段鏈接階段的主要工作是將有關的目標文件連接起來,即將在一個文件中引用的符號同該符號在另外一個文件中的定義連接起來,使得所有的目標文件成為一個能夠被操作系統裝入執行的統一整體。
❾ 學習c語言應該用什麼樣的電腦系統
xpwin7都可 以的
❿ 學c語言用電腦編程,或運行相關編譯器等軟體,所用電腦必須用intel的處理器嗎
ss。一般ASP搭配Access,PHP搭配MySql。
PHP是比較古老的語言了,ASP也是五六年前很流行的,這兩年比較流行的是Java和Asp.net,不過學Java比較多人要,Asp.net開發起來會相對簡單一點,但現在Java也封裝得很好,有利於開發。關於學什麼,就自己興趣所在了。
我也是計算機專業的,雖然覺得不怎樣,但總算有過這幾年經驗。關於如何學一門語言,我認為,不要只看書,要看書然後動手,最好自己找個項目來做,做項目需要什麼,就看什麼,邊學邊做,這樣一來有興趣,二來可以學到東西。但是若一點都不懂的話項目也是做不下去的,所以呢,最好找兩本好一點的書,先瀏覽性過一遍,然後再相對較詳細的看一遍,這樣起碼對這門知識有點了解,以後做的時候找相應的知識也容易一點。
最後回答你的第一個和第二個問題:1.那些不用記下來,要看懂,要知道結構,比如If...else;for,while之類的,知道那些是表達什麼樣的結構。這些東西,邊用邊學慢慢就全知道了,背下來一點用都沒有。
2.不一樣的概念。這里的函數只是把一些經常用到的語句寫在一起,方便調用。這些慢慢體會。
個人經驗,回答完畢。