gcc按ansi編譯
1. 什麼是ANSI C,為什麼學習c語言要以它為標准
ANSI C是C語言的標准,任何C語言的編譯器都在ANSI C的基礎上擴充。
ANSI C幾乎不能完成任何程序的開發。TC、VC等都對ANSI C進行了擴充,加入了自己的規則和庫之類的。
不知道你使用過linux下的gcc沒有,如果有的話就好了。
使用gcc編譯.c的文件時,加上-ansi參數,你就知道你寫的C程序里哪些不是ansi標准里的語法了。
2. 在gcc下怎麼用c語言編出個窗口,要盡量簡單
"c語言編出個窗口"——是CUI還說GUI的?如果是CUI的,那麼最簡單的helloworld程序就可以了;如果是GUI的,那就看lz需要的是Windows上的還是Linux(或者其他)上的窗口——一般在Linux上,可以選擇用GTK開發窗口/圖形界面程序;而在Windows上,可以用Windows API做圖形界面程序。
3. gcc編譯器和嵌入式keil的C51編譯器有什麼不
前者是通用的C語言編譯器,後者相當於是個定製版。C51中定義了一些原先C語言中沒有的類型以及寄存器定義、同時鑒於單片機通常只有幾KB的內存空間進行了代碼生成量優化,專門用於單片機的開發,這些都是在GCC這樣標準的ANSI C編譯器中所沒有的。
4. linux與c語言有什麼異同
兩個是不同的東西,Linux是操作系統,是系統軟體,而c語言是編程語言,是用來編寫軟體的,Linux系統的絕大部分功能就是c語言實現的。
5. gcc編譯時默認使用的庫在哪個目錄(是標准C庫,還是glibc庫 )
看你包含的頭文件和使用的函數啊~兩者包含的函數不一樣~
你要是使用fopen/memcpy等等這樣標准C的函數,當然會在鏈接時使用到標准C庫(ANSI C),如果你使用了read/write這些glibc庫實現的函數,肯定就在鏈接時使用到glibc庫~
具體使用了什麼庫,要看你調用的函數了~可能不會僅僅只包含一個庫~
Linux下,庫的路徑一般是:/lib,/usr/lib,/usr/local/lib等,這些路徑一般會在/etc/ld.so.conf 中標記出來,如果需要添加特殊位置的庫,可以把庫的路徑添加到/etc/ld.so.conf中去,並且執行ldconfig來使得新路徑立即生效~
http://linux.die.net/man/8/ldconfig
6. c語言編譯器哪個好
還是用dev c吧,採用的是gcc編譯器,號稱99.9%符合ANSI 標准,而且小巧可愛, 如果你是初學c的話用它再好不過了.在網上去下一個dev C++(含有c編譯器的), 安裝後在編譯選項裡面把編譯器設置成c編譯器就可以了
tc是dos界面的,所以用起來很不爽
visual c++太龐大, 而且他有很多地方與ANSI標准不兼容