程序员定制外部编译器
⑴ 程序员都用什么编译器
您好
:程序语言有1500多种呢,每种都可能对应一个编译器.
我就为您列出几个常用的吧.
C,C++ 程序员一般使用 VC++
JAVA程序员 一般使用 eclipse或者myEclipse
AS程序员 一般使用 FD,FB,FLEX
如有疑问,请继续追问,谢谢
⑵ 在吗我需要那个编译器
编译器 编译器是一种特殊的程序,它可以把以特定编程语言写成的程序变为机器可以运行的机器码。我们把一个程序写好,这时我们利用的环境是文本编辑器。这时我程序把程序称为源程序。在此以后程序员可以运行相应的编译器,通过指定需要编译的文件的名称就可以把相应的源文件(通过一个复杂的过程)转化为机器码了。 下面我们看看它是如何工作的。首先编译器进行语法分析,也就是要把那些字符串分离出来。然后进行语义分析,就是把各个由语法分析分析出的语法单元的意义搞清楚。最后生成的是目标文件,我们也称为obj文件。再经过链接器的链接就可以生成最后的可执行代码了。有些时候我们需要把多个文件产生的目标文件进行链接,产生最后的代码。我们把一过程称为交叉链接。 有一个称为LCC的编译器,还挺不错的;还有一个用于分析其规则的小工具;
⑶ 学C语言用什么编译器好
C-Free 还行,我就是用这个 写C、C++程序 ,小巧,不到20M,真的不错~~~~~~~
C-Free 5.0 专业版
C-Free是一款支持多种编译器的专业化C/C++集成开发环境(IDE)。利用本软件,使用者可以轻松地编辑、编译、连接、运行、调试C/C++程序。C-Free中集成了C/C++代码解析器,能够实时解析代码,并且在编写的过程中给出智能的提示。C-Free提供了对目前业界主流C/C++编译器的支持,你可以在C-Free中轻松切换编译器。可定制的快捷键、外部工具以及外部帮助文档,使你在编写代码时得心应手。完善的工程/工程组管理使你能够方便的管理自己的代码。
⑷ vs作为外部编译器实现和cvi程序之间的调用
这两个库文件中包含了在CVI内核中定义的库函数信息。
2. 如果您需要添加一些与硬件相关的函数库,比如说DAQ、VXI等,您需要在cvi\extlib目录下查找相关的函数库,并把他们包含进来(比如dataacq.lib和nivxi.lib)。
3. 如果外部编译环境需要以WinMain为程序切入点开始执行,您还需要包含cviwmain.lib函数库。
5. 如果您是在其他的编译器下编辑CVI前面板事件的回调函数,您需要在CVI中的Build菜单下选择External Compiler Support来创建一个专用的回调函数的.obj文件。并且该文件必须被包含到外部编译器的工程中。需要注意的是,如果您需要调用CVI编译的静态库文件您同样需要在您的工程中包含.obj文件或者.c文件。对于该种应用可以参考以下链接:
KnowledgaBase 2TDFEPSJ: I Get Error -86 When I Try to Use a Static Library Created in CVI. Why?6. 如果对于.obj文件和.llb文件使用了LoadExternalMole语句,您需要在您的程序中包含以下文件:refsym.obj(标准CVI库)和/或arefsym.obj(标准C)。这些文件只是在程序运行时被载入。
7. 如果您有以下某种功能的函数:1) 调用.uir文件中的定义; 或者 2) 使用LoadExternalMole语句调用.obj/.lib文件中的定义。那么在外部编译器中您需要调用InitCVIRTE 函数,如果您使用了DLLMain函数,那么您还需要调用CloseCVIRTE 函数。
⑸ 程序员们,你们都用什么编译器
现在做程序员开发一遍都用集成开发环境了 ,减少你的工作开发量。比如常见的:eclipse呀 Hbulider 、webstorm 等等 ,掌握一个其他的就会了。
席位可以帮到您,谢谢!
⑹ 程序员都用什么编译器啊
NetBeans-IDE,类库强大,反应灵敏!用来编写Java超级方便!
⑺ 什么是编译器
编译器
编译器是一种特殊的程序,它可以把以特定编程语言写成的程序变为机器可以运行的机器码。我们把一个程序写好,这时我们利用的环境是文本编辑器。这时我程序把程序称为源程序。在此以后程序员可以运行相应的编译器,通过指定需要编译的文件的名称就可以把相应的源文件(通过一个复杂的过程)转化为机器码了。
[编辑]编译器工作方法
首先编译器进行语法分析,也就是要把那些字符串分离出来。然后进行语义分析,就是把各个由语法分析分析出的语法单元的意义搞清楚。最后生成的是目标文件,我们也称为obj文件。再经过链接器的链接就可以生成最后的可执行代码了。有些时候我们需要把多个文件产生的目标文件进行链接,产生最后的代码。我们把一过程称为交叉链接。
一个现代编译器的主要工作流程如下:
* 源程序(source code)→预处理器(preprocessor)→编译器(compiler)→汇编程序(assembler)→目标程序(object code)→连接器(链接器,Linker)→可执行程序(executables)
工作原理
编译是从源代码(通常为高级语言)到能直接被计算机或虚拟机执行的目标代码(通常为低级语言或机器言)。然而,也存在从低级语言到高级语言的编译器,这类编译器中用来从由高级语言生成的低级语言代码重新生成高级语言代码的又被叫做反编译器。也有从一种高级语言生成另一种高级语言的编译器,或者生成一种需要进一步处理的的中间代码的编译器(又叫级联)。
典型的编译器输出是由包含入口点的名字和地址以及外部调用(到不在这个目标文件中的函数调用)的机器代码所组成的目标文件。一组目标文件,不必是同一编译器产生,但使用的编译器必需采用同样的输出格式,可以链接在一起并生成可以由用户直接执行的可执行程序。
编译器种类
编译器可以生成用来在与编译器本身所在的计算机和操作系统(平台)相同的环境下运行的目标代码,这种编译器又叫做“本地”编译器。另外,编译器也可以生成用来在其它平台上运行的目标代码,这种编译器又叫做交叉编译器。交叉编译器在生成新的硬件平台时非常有用。“源码到源码编译器”是指用一种高级语言作为输入,输出也是高级语言的编译器。例如: 自动并行化编译器经常采用一种高级语言作为输入,转换其中的代码,并用并行代码注释对它进行注释(如OpenMP)或者用语言构造进行注释(如FORTRAN的DOALL指令)。
预处理器(preprocessor)
作用是通过代入预定义等程序段将源程序补充完整。
编译器前端(frontend)
前端主要负责解析(parse)输入的源程序,由词法分析器和语法分析器协同工作。词法分析器负责把源程序中的‘单词’(Token)找出来,语法分析器把这些分散的单词按预先定义好的语法组装成有意义的表达式,语句 ,函数等等。 例如“a = b + c;”前端词法分析器看到的是“a, =, b , +, c;”,语法分析器按定义的语法,先把他们组装成表达式“b + c”,再组装成“a = b + c”的语句。 前端还负责语义(semantic checking)的检查,例如检测参与运算的变量是否是同一类型的,简单的错误处理。最终的结果常常是一个抽象的语法树(abstract syntax tree,或 AST),这样后端可以在此基础上进一步优化,处理。
编译器后端(backend)
编译器后端主要负责分析,优化中间代码(Intermediate representation)以及生成机器代码(Code Generation)。
一般说来所有的编译器分析,优化,变型都可以分成两大类: 函数内(intraproceral)还是函数之间(interproceral)进行。很明显,函数间的分析,优化更准确,但需要更长的时间来完成。
编译器分析(compiler analysis)的对象是前端生成并传递过来的中间代码,现代的优化型编译器(optimizing compiler)常常用好几种层次的中间代码来表示程序,高层的中间代码(high level IR)接近输入的源程序的格式,与输入语言相关(language dependent),包含更多的全局性的信息,和源程序的结构;中层的中间代码(middle level IR)与输入语言无关,低层的中间代码(Low level IR)与机器语言类似。 不同的分析,优化发生在最适合的那一层中间代码上。
常见的编译分析有函数调用树(call tree),控制流程图(Control flow graph),以及在此基础上的变量定义-使用,使用-定义链(define-use/use-define or u-d/d-u chain),变量别名分析(alias analysis),指针分析(pointer analysis),数据依赖分析(data dependence analysis)等等。
上述的程序分析结果是编译器优化(compiler optimization)和程序变形(compiler transformation)的前提条件。常见的优化和变新有:函数内嵌(inlining),无用代码删除(Dead code elimination),标准化循环结构(loop normalization),循环体展开(loop unrolling),循环体合并,分裂(loop fusion,loop fission),数组填充(array padding),等等。优化和变形的目的是减少代码的长度,提高内存(memory),缓存(cache)的使用率,减少读写磁盘,访问网络数据的频率。更高级的优化甚至可以把序列化的代码(serial code)变成并行运算,多线程的代码(parallelized,multi-threaded code)。
机器代码的生成是优化变型后的中间代码转换成机器指令的过程。现代编译器主要采用生成汇编代码(assembly code)的策略,而不直接生成二进制的目标代码(binary object code)。即使在代码生成阶段,高级编译器仍然要做很多分析,优化,变形的工作。例如如何分配寄存器(register allocatioin),如何选择合适的机器指令(instruction selection),如何合并几句代码成一句等等。
⑻ C/C++语言编译器的OpenWatcom C/C++ 1.0
Watcom系统编译器是Intel x86体系16/32位编译器,其最新版是11.0c。
Watcom C/C++的集成开发环境极差,不像Borland C/C++和Visual C/C++那样有漂亮的界面,编译连结不过轻轻一点。Watcom C/C++的大部分使用者都在命令行下编译程序。想想吧!一个需要在命令行下编译程序的编译器,怎么匹敌Borland C/C++和Visual C/C++,甚至是C++ Builder呢?
当然,编译器的好坏并不能单单从使用方便使用上来比较,专业的程序员最关心的是目标程序的质量。Watcom系列编译器相比Borland编译器和Microsoft编译器有一个最大的优势,那便是速度:用Watcom C/C++编译出来的程序在速度上远远超越(记住,不是一点儿,是超越了许多)了Borland C/C++和Microsoft Visual C/C++编译出来的程序。这样一来,即使是没有集成开发环境,程序员们也认了。这也是不少游戏程序员亲昧于这个编译器的原因。
现在我们所用到的OpenWatcom C/C++ 1.0便是Watcom C/C++ 11.0c开放后的版本,它是免费、而且开放源码的。
⑼ 已经在工作的c程序员,工作时用的编译器是什么
编译器是把你写的代码翻译成机器理解的语言,ide是你编程的环境。一般用eclipse吧,myeclipse是扩展版的eclipse,用的人应该不太多