翻译过程

c的实现中包括两种环境:

1.翻译环境(translation environment):源程序---->机器指令

2.执行环境(execution environment):执行机器指令

这两种环境不必位于同一机器。

翻译:

  翻译会将源文件编译成为目标文件(object code),然后链接器(linker)将各个目标文件链接到一起,形成一个可执行文件。

  链接器同时也会引入程序中调用的外部文件的函数。

    编译:

      1.预处理:处理伪指令和特殊符号

        伪指令包括宏定义指令(#define)、 条件编译指令(#ifdef,#ifndef,#else,#elif,#endif)、头文件包含指令(#include)

        特殊符号:LINE(当前行数)、FILE(当前被编译的源程序的名称)等

      2.解析:词法分析和语法分析,生成目标代码

      3.优化:优化器(optimizer)对目标文件进行优化

   unix下的指令:

    1.gcc(cc)   program.c    ----->直接生成a.out可执行文件,中间生成的目标文件会在链接后删除

    2.gcc(cc)  main.c sort.c lookup.c ---->一次编译超过一个文件,生成的目标文件不会背删除

    3.gcc(cc)  main.c  -o  main  ---->指定生成的文件名为main

    4.gcc(cc) -c main.c   ---->生成目标文件

时间: 2024-11-03 22:51:52

翻译过程的相关文章

Moses翻译过程中的参数,程序运行弹出的列表,记录在这了

Moses - A beam search decoder for phrase-based statistical machine translation models Copyright (C) 2006 University of Edinburgh This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public

口语翻译——AI过程的必经之路

人工智能的道路我们还有很长的路要走,我们期待一场未来与机器人的真正博弈,而这种博弈的结果是:人与机器的和谐共存,生活的更加便捷.从我们感受到的智能来举例,如果你的手机是iphone,那你一定不会对siri陌生,这个人机交互的神器,可以帮助我们读短信.介绍餐厅.询问天气.语音设置闹钟.当然,这都不算太高大上,真正让用户叫奇的是siri还能够不断学习新的声音和语调,提供对话式的应答.而siri所表现的种种智能,也不过是未来实现AI的冰山一角,庆幸的是我们或许能为未来的机器翻译,人机交互技术添砖加瓦,

博译有道——关于外文书籍的翻译

有人说,中国古代曾经被人津津乐道的诸如木流牛马之类的工匠发明和创造之所以没有被后人所重现,是因为创作者只知其术,不懂传道.在门户之见成风,传道授艺大多通过手把手教.口口相传的古代,可想而知像<本草纲目>这样的著作的重要性.同样在今天,无论是原创,还是转载,通过互联网广泛传播碎片化知识的同时,作为系统性的.汇总性的书籍显得颇为难能可贵,即便是将一本国外早已出版的书籍引入到国内出版. 经过长达六个月的付出和守候,由IDF实验室成员翻译.机械工业出版社出版的<Hacking with Kali

ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第一章:创建基本的MVC Web站点

在这一章中,我们将学习如何使用基架快速搭建和运行一个简单的Microsoft ASP.NET MVC Web站点.在我们马上投入学习和编码之前,我们首先了解一些有关ASP.NET MVC和Entity Framework的背景信息,然后再详细学习如何搭建开发环境. 1.1 MVC和ASP.NET MVC 这本书涵盖Microsoft版本的MVC,即ASP.NET MVC.在写本书的时候,ASP.NET MVC的生产版本为MVC5,因此,本书的示例代码都使用ASP.NET MVC 5编写.在本书中

谷歌工程师利用和语言翻译类似的技术开发出了一个用于翻译图片主题的机器学习算法

将一种语言自动翻译成另一种语言一直以来都是难以攻克的问题.但最近几年,谷歌通过开发机器翻译算法改变了传统的翻译过程,通过谷歌翻译从本质上改变了跨文化翻译交流. 如今,谷歌正在运用同样的机器学习技术将图片转变为文字.其结果就是自动产生能够准确描述图片内容的标题.该技术将用在互联网搜索引擎,图片自动发表,视觉受损者的网页浏览,以及其他更为广阔的领域. 翻译语言的传统步骤是一个更迭的过程 - 从个体单词的翻译开始,然后通过重新排列单词和短语的顺序来提高翻译的准确性.但是近几年来,通过完全不同的方式,谷

gcc编译过程简述

在linux系统上,从源文件到目标文件的转化是由编译器完成的.以hello.c程序的编译为例,如下: [email protected]: gcc -o hello hello.c 在这里,gcc编译器读取源文件hello.c,并把它翻译成一个可执行文件 hello. 这个翻译过程可分为四个阶段逐步完成:预处理,编译,汇编,链接,如下图所示. 逐步做下简单分析: 在未编译前,hello.c 的源代码如下 #include <stdio.h> int main() { printf("

[翻译]2017年最好的数据库认证

文章翻译自:http://www.tomsitpro.com/articles/database-certifications,2-664.html 我们总是需求一些懂行的,有天赋的,知识渊博的数据库专业人员.下面是一些最好的数据库认证,给DBA,Database developers及相关人员参考. 在过去30年,我们见证了许多数据库平台来了又走,但是毫无疑问的是数据库永远是这种程序,应用中最关键的组件.数据库的认证可能不如云计算,计算机智能预测等前沿或者时髦,但是数据库相关的职位却是永远有市

Objective-C高级编程:iOS多线程及内存管理(第一章翻译)

写在翻译之前:当初看到这本书的时候,感觉深入浅出讲得比较到位,但是在市面上看到的翻译版本翻译的却没有原著的精髓和味道.所以产生了自己将其翻译一下给初学者一些便利的想法.所以才有了这个系列的第一章的翻译.目前剩余的部分依然在翻译过程中,估计不久之后就可以陆续地发出了. 因为本人的水平或者用词问题,本翻译难免有不周详或不正确之处.如果有人看到还望指出,我一定会尽力地修改那些不正确的部分,让更多的人可以看到更优质的资料. Chapter 1 Life before Automatic Referenc

【翻译习作】 Windows Workflow Foundation程序开发

近期整理硬盘,把09年的翻译习作<Windows Workflow Foundation程序开发>找出来了.现在又把译文过了一遍,做了些修改,贴出来献丑了.原书是<Programming Windows Workflow Foundation: Practical WF Techniques and Examples using XAML and C#>,作者K. Scott Allen,由Packt Publishing Ltd.出版. 当时我开始关注.NET 3.0,尤其对WF