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标准不兼容