c编译器开发
没有最好,只有合适的就好,
你在哪个环境下开发软件?unix 或 linux 下,好象是有cc gcc等,
windows下开发软件,比较常用的是Visual Studio,20XX版都可以用(包含了VC6 VC7 VC9等)
Bland 的C++builder 现在应当用的少了
若是做单片机的嵌入式开始,我也只用了Keil uVision4 别的不认识,嘿嘿
不同环境下的编译器互相不可替代,所以不会有最好之说,
如果是同一环境下的有多款,那你倒是可以上网去比较它们的各自特点和优劣性
Ⅱ 在国内从事C/C++编译器的开发有发展前景吗
我给你讲讲我的经历。 我大概十年工作经验,大概五年c++编译器前端经验(在两家500强做静态分析),四五年项目管理和品质过程改善经验。其他主流语言都会用,实现的大概方式也明白。 前一段时间找工作,投了二十几个c++职位一个电话都没有。唯一的面试是朋友内推的阿里的项目管理专家。跑去面试,悲催,直接换岗成p5-p6的测试来面试,问了几个测试问题直接让我回家了(顺便吐槽一下,他们对于测试过程感觉还没问到点上) 最后的结局就是,没人要,转行去制造加工业了。我总结一下为什么找不到工作(可能只是我偏颇的认识:一是这行需求太少,二是hr根本不知道你是干嘛的,三是做这行的根本不好意思写精通c++。
Ⅲ 写C语言编译器用什么开发环境,请高手指教非常感谢!
对初学者来说 问编译器不如问编程环境。
我觉得 初学有两种选择 一个是高版本的Visual Studio 至少是2008版以上的
这个是IDE 优点是东西全 集成度好 缺点
1. 除了Express版其他的是花钱的 几千块一套罢 当然你用盗版我也管不了
2. 加入了很多微软自己的东西 可能和书上的不大一样
3. 很大 比较慢 大约几个G 对初学者和不是以它为职业的人来说过于庞大了
还有一个是我一直推荐的C-Free 国人的作品 试用版不花钱 轻量级的IDE罢 默认编译器是GCC优点
1. 相比Visual Studio和书上的东西比较配套 简单
2. 能接触到GCC这个优秀的编译器
3. 比较小
4. 中文的
缺点
1. 功能不够全 但对入门足够了
2. 相比Visual Studio不够人性化
3. 可能会有一些小毛病
4. 高版本Windows的兼容性也不大好
各有所长 选自己喜欢的罢 我一般推荐这两个。
希望可以帮到你,谢谢!
Ⅳ 如何用c 开发
意的。不过个人建议你不要用这种小公司的产品(我知道这个单片机的,但是本人不会去碰它的)。因为像小公司的产品很容易造成断货的危机,等你产品开发出来了,他们不生产这种芯片了,你说麻烦吧。不过嘛,这种单片机也有一定的好处,那就是这种小公司的单片机知道指令的人呢比较少,人家破译你的芯片比较麻烦。(当然也不是说绝对不可能破解,事实上任何单片机都是可能给破解的,只是难易程度有区别。)不要光顾便宜,也要注意其他的东西。其实单片机的结构原理是差不多的,你要搞懂它的寄存器结构,还有指令系统。如果要用C语言开发,那么你就要下载一个C的编译软件。熟悉它的操作方法,还有这个编译器对标准C语言有何扩展的地方。这些搞懂了,一般来说可以用C语言开发了。最好找一下他的正规的代理商,(一般正规的代理商都有应用工程师的,提供技术支持。)也有些单片机制造商本身不提供C编译器的。要用其他公司的C编译器,或者自己开发编译器。这样的话非常麻烦。
1.如果你用其他公司的C编译器,兼容性是一个问题,还有就是可能牵涉到版权的问题。
2.如果自己能开发C编译器的话,那还不如用汇编语言直接写程序容易一下呢?因为根据编译原理,C语言的编译其实是先编译成汇编语言,然后再编译成16进制机器语言(或者二进制语言)。真的有这些本事的话,那自己直接用汇编语言写不是容易的多了吗?
Ⅳ 开发C语言的编译工具有哪些,各自的有什么特点
现在已经没有纯C语言的编译器了,都是用的C++编译器,由于C++兼容C,所以使用C++编译器,常用的有visual studio里的VC++编译器,DEV C++编译器,C++ bulider编译器,建议使用前2个,VC++功能强大,可以编译所有的windows程序,但是过于复杂,模块多,体积大,不宜学,但是学好了前途(钱途)无量,DEV C++是个标准的C++编译器,只有C++的基本功能,只能编写win32程序,win32控制台程序,DLL动态链接库,没有VC++提供的强大的类库支持。许多事要自己来完成。
Ⅵ 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, 这些软件很受用户欢迎。
(7)c编译器开发扩展阅读:
C编译的整个过程很复杂,大致可以分为以下四个阶段:
1、预处理阶段在该阶段主要完成对源代码的预处理工作,主要包括对宏定义指令,头文件包含指令,预定义指令和特殊字符的处理,如对宏定义的替换以及文件头中所包含的文件中预定义代码的替换等,总之这步主要完成一些替换工作,输出是同源文件含义相同但内容不同的文件。
2、编译、优化阶段编译就是将第一阶段处理得到的文件通过词法语法分析等转换为汇编语言。优化包括对中间代码的优化,如删除公共表达式,循环优化等;和对目标代码的生成进行的优化,如如何充分利用机器的寄存器存放有关变量的值,以减少内存访问次数。
3、汇编阶段将汇编语言翻译成机器指令。
4、链接阶段链接阶段的主要工作是将有关的目标文件连接起来,即将在一个文件中引用的符号同该符号在另外一个文件中的定义连接起来,使得所有的目标文件成为一个能够被操作系统装入执行的统一整体。
Ⅷ C语言是用什么编写出来的
C语言通过语言开发出来的。
C语言是Dennis Ritchie 在1972年通过Thompson的B语言的基础之上开发出来的。C是作为从事实际编程工作的程序的一种工具而出现的,所以其主要目标是成为一种有用的语言。同时, C 也是为编程人员开发的语言,这使得它成为当今人们首先的编程语言之一。
C已经成为最重要和流行的编程语言之一。它之所以得到发展,是因为人们尝试使用它后喜欢它。过去10年中,许多人从C转而使用更强大的C++语言,但C有其自身的优势,仍然是一种重要的语言,而且它还是通往C++的必由之路。
(8)c编译器开发扩展阅读
C语言特点
1、设计特性:C是一种融合了控制特性的现代语言,而我们已发现在计算机科学的理论和实践中,控制特性是很重要的。
2、高效性: C是一种高效的语言。 在设计上它充分利用了当前计算机在能力上的优点。C程序往往很紧凑且运行速度快。
3、可移植性:C是一种可移植语言。在一个系统上编写的C程序经过很少改动或不经修改就可以其他系统上运行。
Ⅸ c语言是用什么语言开发出来的
语言依赖于编译器存在。只要有能将一种语言编译成一种机器代码,可执行程序的编译器存在,该语言就可以用。C语言由C语言编译器编译。你是问C语言用什么语言开发的,还是C编译器用什么语言开发的。其实第二个问题才有意义对不对?
那么编译器是什么?是把一种语言换成机器代码的程序对不对。如果承认这个,那好。那什么语言都能编译C语言,只要它具备以下几个条件:
1。能够打开文件。
2。具备文字处理和运算功能。
3。能够写一个文件。
好的,那么世界上几乎80%的软件语言都能够写一个编译器,自然也能够写一个C编译器。
所以,你的问题的答案是,C语言编译器可以由现在基本上所有的语言编写。
其实这个问题本身已经没有意义了。
呵呵。。
Ⅹ C语言文件的编译与执行的四个阶段并分别描述
开发C程序有四个步骤:编辑、编译、连接和运行。
任何一个体系结构处理器上都可以使用C语言程序,只要该体系结构处理器有相应的C语言编译器和库,那么C源代码就可以编译并连接到目标二进制文件上运行。
1、预处理:导入源程序并保存(C文件)。
2、编译:将源程序转换为目标文件(Obj文件)。
3、链接:将目标文件生成为可执行文件(EXE文件)。
4、运行:执行,获取运行结果的EXE文件。
(10)c编译器开发扩展阅读:
将C语言代码分为程序的几个阶段:
1、首先,源代码文件测试。以及相关的头文件,比如stdio。H、由预处理器CPP预处理为.I文件。预编译的。文件不包含任何宏定义,因为所有宏都已展开,并且包含的文件已插入。我归档。
2、编译过程是对预处理文件进行词法分析、语法分析、语义分析和优化,生成相应的汇编代码文件。这个过程往往是整个程序的核心部分,也是最复杂的部分之一。
3、汇编程序不直接输出可执行文件,而是输出目标文件。汇编程序可以调用LD来生成可以运行的可执行程序。也就是说,您需要链接大量的文件才能获得“a.out”,即最终的可执行文件。
4、在链接过程中,需要重新调整其他目标文件中定义的函数调用指令,而其他目标文件中定义的变量也存在同样的问题。