编译器 订阅
简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。 展开全文
简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。
信息
别    称
译码器
表达式
源代码→预处理器 → 编译器 → 目标代码
提出者
葛丽丝·霍普
应用学科
计算机
中文名
编译器
适用领域范围
计算机,单片机,编程语言
外文名
Compiler
提出时间
20世纪50年代末
编译器工作原理
编译 [1]  是从源代码(通常为高级语言)到能直接被计算机 或虚拟机执行的目标代码(通常为低级语言或机器语言)的翻译过程。然而,也存在从低级语言到高级语言的编译器,这类编译器中用来从由高级语言生成的低级语言代码重新生成高级语言代码的又被叫做反编译器。也有从一种高级语言生成另一种高级语言的编译器,或者生成一种需要进一步处理的的中间代码的编译器(又叫级联)。典型的编译器输出是由包含入口点的名字和地址, 以及外部调用(到不在这个目标文件中的函数调用)的机器代码所组成的目标文件。一组目标文件,不必是同一编译器产生,但使用的编译器必需采用同样的输出格式,可以链接在一起并生成可以由用户直接执行的EXE,所以我们电脑上的文件都是经过编译后的文件。
收起全文
精华内容
参与话题
问答
  • C语言编译器哪个好?几款好用的C语言编译器推荐

    万次阅读 多人点赞 2018-06-28 11:19:21
    一些刚开始接触C语言编译的小伙伴想下载一款C语言编译器来使用,网络上有不少C语言编译器相关的软件,让人很难抉择。那么,C语言编译器哪个好?今天的文章,老九君给小伙伴们整理了几款好用的C语言编译器推荐给大家...

    一些刚开始接触C语言编译的小伙伴想下载一款C语言编译器来使用,网络上有不少C语言编译器相关的软件,让人很难抉择。那么,C语言编译器哪个好?今天的文章,老九君给小伙伴们整理了几款好用的C语言编译器推荐给大家,需要C语言编译器的小伙伴们,了解一下哟~

    一、Dev-C++

    Dev-C++ 是一个C++ 开发工具。它包括多页面窗口、工程编辑器,在工程编辑器中集合了编辑器、编译器、连接程序和执行程序。它也提供高亮度语法显示的,以减少编辑错误。

    Dev-C++是一个Windows下的C和C++程序的集成开发环境。http://www.shfdjk.com它使用MingW32/GCC编译器,遵循C/C++标准。开发环境包括多页面窗口、工程编辑器以及调试器等,在工程编辑器中集合了编辑器、编译器、连接程序和执行程序,提供高亮度语法显示的,以减少编辑错误,还有完善的调试功能,能够适合初学者与编程高手的不同需求,是学习C或C++的首选开发工具!

    二、mingw

    MinGW是Minimalist GNU onWindows的简称,是指只用自由软件来生成纯粹的Win32可执行文件的编译环境。

    一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行库。实际上MinGW 并不是一个C/C++ 编译器,而是一套GNU工具集合。除开GCC (GNU 编译器集合)以外,MinGW 还包含有一些其他的GNU 程序开发工具(比如gawk bison 等等)。

    开发 MinGW 是为了那些不喜欢工作在 Linux(FreeBSD)操作系统而留在Windows 的人提供一套符合GNU 的工作环境。总体说来,使用MinGW 就是GNU。

    三、WIN-TC

    初学C的一款比较好的软件,也是学习C的一款比较官方标准的软件

    WIN-TC是一个turbo C2 WINDOWS平台开发工具,最大特点是支持中文界面,支持鼠标操作,程序段复制,为初学c语言、对高等编程环境不熟悉的同志们非常有帮助。

    该软件使用turbo C2为内核,提供WINDOWS平台的开发界面,因此也就支持WINDOWS平台下的功能,例如剪切、复制、粘贴和查找替换等。而且在功能上也有它的独特特色例如语法加亮、C内嵌汇编、自定义扩展库的支持等。并提供一组相关辅助工具令你在编程过程中更加游刃有余,如虎添翼。

    WIN-TC简繁双语版可以正常运行于98及其以上的简体及繁体WINDOWS操作系统上。

    四、Cygwin

    Cygwin是一个用于在Windows上模拟Linux环境的软件。它可以作为那些虚拟机软件的一个部分替代品。

    运行Cygwin后,你会得到一个类似Linux的Shell环境,在其中你可以使用绝大部分Linux软件和功能。如Gcc,Make,Vim,Emacs等等。总之如果你想使用某个Linux下的功能,而windows上又找不到好的替代品的话,你就可以用Cygwin。

    五、Microsoft Visual stdudio

    Visual Studio(VS) 是一套非常完备的工具和服务,可帮助小伙伴为Microsoft 平台和其他平台创建各种各样的应用程序。Visual Studio 还可将您所有的项目、团队和利益干系人联系在一起。现在您的团队可以从任何位置以虚拟方式进行更为敏捷的合作,无论他们采用何种开发工具。

    功能介绍

    可以通过强大的集成开发环境构建面向 Windows、Android、iOS 以及 Web 的出色应用。使用任何 IDE 或编辑器在云中进行版本控制、敏捷、持续交付、应用程序分析协作。

    适用于所有操作系统的编辑器使用可在 Windows、OS X 或 Linux 上运行的免费代码编辑器构建和调试现代 Web 和云应用程序。

    六、CodeBlocks

    codeblocks是一款功能强大的C/C++集成开发环境,软件支持应用程序的开发、也可以对现有的程序进行编译,在设计过程中,您可以随意调试软件,codeblocks带有调试的环境,可以自由控制对程序的调试、停止、生成并运行等,功能非常丰富;

    codeblocks扩展性能非常强大,软件内置大量的开发插件程序,你可以直接在软件中进行连接下载,帮助您获得更高效、稳定、快捷的开发辅助程序,codeblocks新版在项目构建、可视化设计、调试、代码生成等方面都有巨大的提升,需要的小伙伴们可以下载体验。

    展开全文
  • 编译器

    2019-11-14 10:32:38
    文章目录commonGCC common 编译器预定义宏定义:https://sourceforge.net/p/predef/wiki/Architectures/ GCC [gcc编译选项](https://gcc.gnu.org/onlinedocs/gcc/)

    文章目录

    common

    编译器预定义宏定义:https://sourceforge.net/p/predef/wiki/Architectures/

    GCC

    [gcc编译选项](https://gcc.gnu.org/onlinedocs/gcc/)
    
    展开全文
  • Python编译器-PyCharm

    千次阅读 2018-07-27 09:43:39
    PyCharm是一款功能强大的python编辑器,具有跨平台性,介绍PyCharm下载和安装,使用方法。  PyCharm的下载地址:... 备注:professional表示专业版,community是社区版,professio...

           PyCharm是一款功能强大的python编辑器,具有跨平台性,介绍PyCharm下载和安装,使用方法。

           PyCharm的下载地址:http://www.jetbrains.com/pycharm/download/#section=windows,进入该网站后,看到如下界面:

    备注:professional表示专业版,community是社区版,professional需要激活,所以:推荐安装社区版,免费使用。

      接下来介绍安装过程中较重要部分:

           点击“下一步”,直至安装结束。

    -----------------------------------------------------------------------------------------------------------------------------------

    PyCharm使用

           1.点击”Create New Project”:

         2.Location是我们存放工程的路径,点击下三角符号,可以看到pycharm已经自动获取了安装Python版本信息。

            备注:路径需要为空,不然无法创建,第二个Location不用动它,是自动默认的,其余不用点,然后点击Create。

           3.建立编译环境

             4.建立Python File

          5.快捷键ctrl+shift+F10或者点击绿色三角形,就会编译。

    -----------------------------------------------------------------------------------------------------------------------------------
        pycharm加载多个项目

    -------------------------------------------------------------------------------------------------------------------

    pycharm怎么导入python需要的包

         搜索需要的包

    展开全文
  • GCC(GNU Compiler Collection,GNU编译器套件)

    千次阅读 多人点赞 2019-05-04 23:19:00
    GCC(GNU Compiler Collection,GNU编译器套件),是由GNU开发的编程语言编译器。 gcc主要软件包如下: 名称 功能描述 cpp C 预处理器 gcc C 编译器 g++ C++编译器 gccbug 创建BUG报告的Shell脚本 ...



    GCCGNU Compiler CollectionGNU编译器套件),是由GNU开发的编程语言编译器

    1、 GCC 主要软件包

    序号 名称 功能描述
    1 cpp C预处理器
    2 gcc C编译器
    3 g++ C++编译器
    4 gccbug 创建BUG报告的Shell脚本
    5 gcov 覆盖测试工具,用于分析在程序的哪个位置做优化效果最佳
    6 libgcc GCC运行库
    7 libstdc++ 标准C++库
    8 libsupc++ 提供支持C++语言的函数库

    2、 GCC 编译过程

    2.1 GCC 编译过程

    hello.chello(或a.out)文件,必须历经hello.ihello.shello.o,最后才得到 hello(或a.out)文件,分别对应着预处理编译汇编链接4个步骤,整个过程如图所示:
    在这里插入图片描述

    序号 步骤 工作内容
    1 预处理(Preprocess) C 编译器对各种预处理命令进行处理,包括:
    (1)展开所有的头文件
    (2)宏定义的替换
    (3)解析条件编译添加到文件中
    2 编译(Compile) 预处理后的文件进行词法分析语法分析语义分析优化后,生成相应的.s汇编文件
    3 汇编(Assemble) 编译后的汇编代码翻译成机器码,生成.o目标文件
    4 链接(Link) 通过链接器ld目标文件库文件链接在一起,生成可执行文件(executable file)

    序号 命令 描述
    1 gcc -E hello.c -o hello.i 预处理(预处理器 Preprocessor:cpp-E:只对文件进行预处理,不编译汇编和链接)
    2 gcc -S hello.i -o hello.s 编译(编译器 Compiler:gccg++-S:只对文件进行编译,不汇编和链接)
    3 gcc hello.s -o hello.o 汇编(汇编器 Assembler:as)
    4 gcc hello.o -o hello 链接(链接器 Linker:ld)

    2.2 GCC 单步完成编译

    第1种命令:gcc hello.c -o hello
    第2种命令:gcc -o hello hello.c

    3、GCC 常用 选项和参数

    序号 命令 描述
    1 -c 只编译不链接为可执行文件,编译器将输入的.c文件编译为.o目标文件
    2 -o output_file output_file 用来指定编译结束以后的输出文件名
    如果不使用这个选项的话 GCC 默认编译出来的可执行文件名字为a.out
    3 -E 只对文件进行预处理,不编译汇编和链接
    4 -S 只对文件进行编译,不汇编和链接
    5 -g 产生符号调试工具(GNU 的 GDB)所必要的符号信息,要想对源代码进行调试,就必须加入这个选项。
    g也分等级,默认是-g2-g1是最基本的,-g3包含宏信息
    6 -O 对程序进行优化编译,如果使用此选项的话整个源代码在编译链接的的时候都会进行优化,这样产生的可执行文件执行效率就高
    7 -ON 指定代码的优化等级为N,可取值为 0,1,2,3
    O0没有优化,O3优化级别最高
    8 -O2 -O更幅度更大的优化,生成的可执行效率更高,但是整个编译过程会很慢

    4、C/C++ 程序 常用文件名后缀

    序号 扩展名 说明
    1 .a 静态库,由目标文件构成的文件库
    2 .c C源码,必须经过预处理
    3 .C .cc .cpp C++源码,必须经过预处理
    4 .h C/C++源码的头文件
    5 .i .c经过预处理得到的C源码
    6 .ii .C .cc .cpp经过预处理得到的C++源码
    7 .s 汇编语言文件,是.i文件编译后得到的中间文件
    8 .o 目标文件,是编译过程得到的中间文件
    9 .so 共享对象库(shared object),也称动态库

    5、 链接 可分为 动态链接 和 静态链接

    序号 链接 描述
    1 动态链接 使用动态库进行链接,生成的程序在执行的时候需要加载所需的动态库才能运行。
    动态链接生成的程序小巧,但是必须依赖动态库,否则无法执行
    2 静态链接 使用静态库进行链接,生成的程序包含程序运行所需要的全部库,可以直接运行,不过体积较大

    Linux 下的动态链接库实际是共享目标文件(shared object),一般是.so文件,作用类似于 Windows 下的.dll文件。

    展开全文
  • C语言---编译器、编辑器

    千次阅读 2019-10-17 14:00:11
    什么是C语言编译器,C语言代码编辑器,C语言标准库. 相信很多C语言方面的书籍开篇都是先讲C语言的历史什么的,但是我觉得应该对学习C语言所使用安装的各种“软件”进行一个讲解和说明, 了解C语言的环境,这对于学习...
  • 对于第一个 codeblocks-17.12-setup.exe 和第二个,都是没有自带编译器的,就是说我们下了安装后,没办法直接使用,需要在自己安装编译器,而对于第四个也就是codeblocks-17.12mingw-setup.exe 是在带编译器的。...
  • 来源:伯乐在线,作者:Chaobs首先向C语言之父Dennis Ritchie致敬!当今几乎所有的实用的编译器/解释器(以下统称编译器)都是用C语言编写的,有一些语言比如...
  • 大家最早开始接触编程语言应该就是C/C++了吧,这也是在大学中必考的一个证书,但在学校学习的那些知识,当你出校门时就会发现略显得陈旧了,尤其是经过这么多年的发展,C/C++编译器越来越多,究竟哪个好用呢?...
  • 常用C++编译器推荐

    千次阅读 2020-01-03 11:19:53
    本文将为大家带来的是几款简单实用的C++编译器(非IDE),希望大家喜欢。 GCC(GNUCompilerCollection) 官方网站:https://gcc.gnu.org/ GCC有Windows移植版本,比较出名的就是MinGW和TDM-GCC GNU编译器套件...
  • matlab找不到编译器的问题

    千次下载 热门讨论 2012-10-06 22:33:46
    matlab在关联编译器的时候,会出现找不到编译器的问题,原因是matlab要找windows sdk的mt.exe,找不到报错的.因为vs2012在安装时,windows sdk的mt.exe位置变了,而matlab还是按照老的路径找,肯定找不到(原来在windows ...
  • TC编译器TC编译器TC编译器TC编译器TC编译器TC编译器TC编译器TC编译器TC编译器TC编译器TC编译器TC编译器
  • 未找到支持的编译器或 SDK。您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安装 MinGW-w64 编译 器。有关更多选项,请访问 http://www.mathworks.com/support/compilers/R2016b/win64.html。” 1、下载:...
  • MATLAB安装MinGW-w64 C/C++ 编译器

    万次阅读 2018-06-09 10:34:44
    原文地址:http://blog.sina.com.cn/s/blog_167bbdec10102x113.html在MATLAB中编译C/C++文件时出现以下情况:说明缺少... 编译器版本:tdm64-gcc-5.1.0-2.exe2、安装MinGW-w64 C/C++ 编译器。注意:按照默认路径安装...
  • Keil C51编译器

    千次下载 热门讨论 2011-12-06 16:14:08
    在Keil u4 for ARM 下增加 C51支持的扩展包
  • 常见的编译器

    千次阅读 2014-03-12 12:42:33
    简单讲,编译器就是将“高级语言”翻译为“机器语言(低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接...
  • 小小C编译器源码小小C编译器源码小小C编译器源码小小C编译器源码小小C编译器源码小小C编译器源码小小C编译器源码小小C编译器源码
  • 我们将要讨论的是两大...今天我们围绕的主角是一些超级棒的 C 和 C++ 的集成开发环境(IDE)和编译器。IDE 主要是在程序员开发时提供各种软件应用组件,最受程序员受欢迎的 IDE 都有一个共同点,那就是非常有吸引...
  • C语言编译器哪个好 其实win tc是款很不错的软件。去用一下你就知道了,因为我自学c时就是用的那个软件,真的向你推荐它! 推荐使用VC++6.0中文版,因为国家考试用的就是那个,当然了还有Turbo C这个也是以前国家...
  • 64位Linux的ARM交叉编译器

    热门讨论 2013-08-22 15:25:08
    以前将android的kernel拿出来单独编译,交叉编译器也是从android代码中拿出来的。 但自从装了Ubuntu 12.04 64位系统之后,原来在32位系统上可以使用的arm-linux交叉编译器不能用了。 按照网上的方法安装 sudo apt-...
  • VC2010 编译器

    热门讨论 2009-06-25 10:51:50
    Visual Studio 2010中提取出来的VC编译器。在这其中我去掉了对amd64的支持,去掉了mfc,纯粹的C++编译器,不需要再安装VC。在命令行下直接运行bat文件就设置了环境变量,很方便。 要下载spy++10.0.21006.1来这里: ...
  • 汇编编译器

    2017-07-31 16:57:38
    汇编编译器下载地址:http://www.tortall.net/projects/yasm/snapshots/官网:http://yasm.tortall.net/
  • c语言实现C编译器c语言实现C编译器

    热门讨论 2010-06-13 08:27:00
    c语言实现C编译器c语言实现C编译器c语言实现C编译器c语言实现C编译器c语言实现C编译器c语言实现C编译器c语言实现C编译器c语言实现C编译器c语言实现C编译器c语言实现C编译器c语言实现C编译器
  • MSVC编译器

    2018-12-19 17:54:09
    不用装Visual Studio也能用的VS C++编译器。 原文链接https://blog.csdn.net/m0_37809890/article/details/85103109
  • Microsoft Fortran PowerStation 4.0编译器

    千次下载 热门讨论 2009-12-13 08:35:39
    Fortran 90 编译器 Microsoft Fortran PowerStation 4.0 SN=000-0000000 [安装方式1]可直接选择Compact安装方式 [安装方式2]选择Custom安装方式(建议此方式并安装卸载文件) { 选取 (1)Fortran Complier,Tools, ...
  • Dev C++ V4.9.9.2 编译器Dev C++ V4.9.9.2 编译器Dev C++ V4.9.9.2 编译器Dev C++ V4.9.9.2 编译器Dev C++ V4.9.9.2 编译器Dev C++ V4.9.9.2 编译器Dev C++ V4.9.9.2 编译器Dev C++ V4.9.9.2 编译器Dev C++ V4.9.9.2...
  • 交叉编译器,ARM EABI编译器区别

    千次阅读 2016-11-01 10:15:45
    首先记录一个下载arm-none-linux-gnueabi-gcc编译器的网址http://www.veryarm.com/arm-none-linux-gnueabi-gcc一. 命名规则交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi]arch - 体系架构,如ARM,...

空空如也

1 2 3 4 5 ... 20
收藏数 225,746
精华内容 90,298
关键字:

编译器