从源程序到可执行文件的四个过程

这里写目录标题

程序要运行起来,必须要经过四个步骤:预处理、编译、汇编和链接,如下图所示:
在这里插入图片描述

-E选项:提示编译器执行完预处理就停下来,后边的编译、汇编、链接就先不执行了。
-S选项:提示编译器执行完编译就停下来,不去执行汇编和链接了。
-c选项:提示编译器执行完汇编就停下来。
-o选项:生成可执行文件。

预处理

预处理之后的文件仍然是一个C++文件,预处理过程进行的操作如下:

  • 将所有的“#define”删除,并且展开所有的宏定义
  • 处理所有的条件编译指令,比如“#if”、“#ifdef”、“#elif”、“#else”、“#endif”
  • 处理“#include”指令,将被包含的头文件插入到该指令的位置。(这个过程是递归进行的,因为被包含的文件可能还包含了其他文件)
  • 删除所有的注释“//”和“/* */”。
  • 添加行号。

编译

编译过程主要包括词法分析、语法分析、语义分析等操作。编译完成后生成一个 .s 文件,即汇编文件

词法分析
词法分析是使用一种叫做lex的程序实现词法扫描,它会按照用户之前描述好的词法规则将输入的字符串分割成一个个记号。产生的记号一般分为:关键字、标识符、字面量(包含数字、字符串等)和特殊符号(运算符、等号等),然后他们放到对应的表中。

语法分析
语法分析器根据用户给定的语法规则,将词法分析产生的记号序列进行解析,然后将它们构成一棵语法树。对于不同的语言,只是其语法规则不一样。

语义分析
语法分析完成了对表达式语法层面的分析,但是它不了解这个语句是否真正有意义。有的语句在语法上是合法的,但是却是没有实际的意义,比如说两个指针的做乘法运算,这个时候就需要进行语义分析,但是编译器能分析的语义也只有静态语义。

  • 静态语义:在编译期就可以确定的语义。通常包括声明与类型的匹配、类型的转换。比如当一个浮点型的表达式赋值给一个整型的表达式时,其中隐含一个从浮点型到整型的转换,而语义分析就需要完成这个转换,再比如,将一个浮点型的表达式赋值给一个指针,这肯定是不行的,语义分析的时候就会发现两者类型不匹配,编译器就会报错。

  • 动态语义:只有在运行期才能确定的语义。比如说两个整数做除法,语法上没问题,类型也匹配,听着好像没毛病,但是,如果除数是0的话,这就有问题了,而这个问题事先是不知道的,只有在运行的时候才能发现他是有问题的,这就是动态语义。

汇编

汇编对应生成的文件是目标文件,目标文件由机器码写成

链接

目标文件经过链接可以形成一个可执行文件。链接过程主要包括了符号决议和重定位。

符号决议
有时候也被叫做符号绑定、名称绑定、名称决议、或者地址绑定,其实就是指用符号来去标识一个地址。比如说 int a = 6,这样一句代码,用a来标识一个块4个字节大小的空间,空间里边存放的内容就是6。

重定位
重新计算各个目标的地址过程叫做重定位,重定位分为以下两步:

  1. 合并相同类型的节,然后链接器将运行时的内存地址赋给新的聚合节。这一步完成,程序中的每条指令和全局变量都有唯一的运行时内存地址了。
  2. 链接器修改代码节和数据节中对于每个符号的引用,使得他们指向正确的运行时地址。
  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
源程序名称: 欧阳俊曦职位搜索引擎 编译环境: Borland Delphi 2005 / WindowsXP 第三方控件库: ICS 功能: 收集国内十家人才招聘垂直网站信息,按城市,行业,职位分类检索, 导出HTML/WML文件,搜索速度4Mb/s,。信息包括:公司名称,联络人,电话,传真,地址,网址,邮编,薪酬,工作地点,文化程度,发布时间等等。 安装: 1、WindowsXP 2、Borland Delphi 2005 3、下载网络控件包ICS, http://www.overbyte.be/arch/ics.zip 用 Delphi 上的 File => Open => IcsDel90.dpk 安装, 如果成功,就会出现Fpiette工具栏 (源至 http://www.overbyte.be) 4、编译欧阳俊曦职位搜索引擎源程序 用 Delphi 上的 File => Open => Fastgen1.bdsproj 5、执行编译出来的程序。 6、在 c:\inetpub\wwwroot\ 文件夹下出现“招聘”,已经按照城市,职位分树状结构,含 HTML 及 WML 文件 HTML显示格式可根据你的喜爱修改。 7、将 css, images 和 swf 三个文件夹移动到 C:\inetpub\wwwroot 文件内(这些是HTML显示元素) 8、开启网站服务(譬如:iis, apache)至 C:\inetpub\wwwroot 9、完成。 作者:欧阳俊曦 超过二十四年编程经验 从1985年开始使用了 6502,8088,Basic,DBase,Z-80,TP801,Foxbase,Foxpro,VB,boland C,Access,Fortran,C-Base,Delphi,C++,SQL,Java,Action script, JScript, VBScript, C#,Dot Net, Python, Erlang 欧阳俊曦是广州人,生肖属鼠,天秤星座,火, 太阳部落 欧阳姓氏源自越王勾践大将军胺封阳山王。俊曦二字含火。
河南中云创光电科技股份有限公司 生产设备管理程序文件 文件编号: 版本/版次: A/0 生效日期: 2015/02/03 受控状态: 编制: 审核: 批准: "序号 "版本 "修订内容 "修订人 "审核人 "生效日期 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 分发部门:(所有部门) " 行政部 " 技术研发部 " 科技管理部 " 市场品牌部 " 财务部 " 人事部 " " 仓储部 " 灯杆车间 " 光电车间 " 工程部 " 电源一车间 " 电源二车间 " " 采购部 " 后勤基建部 " 公关法务部 " 客户服务部 " 工程项目部 " 渠道管理部 " " 电子商务部 " 质量管理部 " 生管部 " 检验检疫部 " " " "其它: " " " 1:目的 对设备进行管理,使设备保持良好的技术状态。做好设备维护保养,确保满足生 产需要。 2:范围 本程序适用于本公司所有生产所需要的生产设备。 3: 流程图 3.1 设备的需求 各部门根据市场预测,公司发展规划,顾客的特殊要求,使用部门申请购买设备提出 所需设备的具体型号和进度需求填写《采购申请单》。 3.2 评审 《采购申请单》的填报务必仔细、慎重,选型符合公司要求,经济性和技术性分析 应真实、可靠。由使用部门经理及财务部经理会签,经总经理审批后交采购部执行设 备的采购活动。 3.3设备购置 采购部执行计划和报告时应进行市场调查,根据"货比三家,质优价廉"的原则确 定供货厂家,商定价格,经财务部门核价,报总经理批准后,可与供方签订正式合同 。 3.4设备的安装、调试和验收 由工程部负责人到设备场地按照装箱单清点附件、随机备件和合同要求共同验收,对 外包装的状况应作记录,设备的开箱由设备使用部门负责.设备开箱后,设备管理员收集使 用说明书和产品合格证等资料存档。重大设备由公司组织验收小组按设备说明书和合同 要求验收。验收合格,则验收责任人共同在《设备验收单》上签字;验收不合格。则由采 购销售部责任人根据合同和协议有关条款向供货商执行保修,直到验收合格或办理退换 手续。 3.5设备前期管理工作 工程部应分类逐台统一编号,并建立《设备清单》。设备的主要参数应准确齐全。关键 设备指在生产中占重要地位和起重要作用的设备,以及在生产线上经常威胁均衡生产、产 品质量和安全环保等对生产影响大的设备。 工程部根据《关键设备易损件清单》建立适当的库存 3.6设备的使用 3.6.1 操作者在独立使用设备前,必须对设备的结构、性能、技术规范、维护知识和安全操作 规程等进行理论和实际技能培训考试,合格后,方准凭证上岗。 3.6.2 操作人员的培训工作由工程部统一安排组织培训。 3.6.3条件合格的操作人员,由工程部统一进行考核,转交生产部进行作业。 3.6.4:设备因任何原因需停用一个月以上时,由设备管理员做好停用标识,对停用设备 应有防尘、防锈等措施,停用的有关情况应在设备卡上注明。 3.6.5:停用设备重新启用时,应预先对设备进行检定和试用,确认能满足工作要求后方 可投入使用,有关情况记录在设备卡上。 3.7设备的修理与维护保养 设备故障维修是当设备发生故障的时候由设备操作人员向工程部设备管理人员报告 ,由工程部设备管理人员组织相关的设备维修人员对设备进行维修。维修的情况应记录 在《设备维修记录》中,设备维修完成后,应对维修效果进行验证。对于一般设备验证合 格后即可重新使用,对于关键设备验证合格后应进行设备能力的确认。 3.8设备故障与事故处理 对设备应实行全过程的管理,认真贯彻执行"预防为主"的方针,做到防患于未然,尽 量避免非正常故障及事故的发生。 3.8.1工程部应认真掌握导致发生故障因素的信息,重视积累常发的和典型的故障资 料和数据,分析发生故障的机理和规律,并在此基础上加强设备日常管理工作。 3.8.2设备事故发生后,操作人员应立即采取措施,保护现场,及时报告设备管理部 门。设备管理部门应组织有关部门和人员按照事故"四不放过"的原则,对事故现场进行 调查核实,确定事故的类别、性质,对责任事故,应按情节轻重,责任大小,整改结果 ,分别给予批评教育,行政处分和经济处罚。 3.9设备的报废 设备的报废由工程部门提出申请,填写 《设备报废申请表》,经各部门经理会签,报总经理批准后实施.财务部门注销资产账。 3.9.1对于已经报废的设备若暂无新设备替换,生产又需继续留用,由设备使用部 门提出申请,批准后可留用。 3.9.2 报废留用的设备按
[实用参考]2014HSE程序文件 1 [重点实用参考文档资料] 健康安全环境管理程序发布令 本标准根据GB/T24001-20GG《环境管理体系要求及使用指南》、GB/T28001-20GG《职业健康安全管理体系规范》和中国石油天然气集团公司Q/SY1002.1-20GG《健康、安全与环境管理体系规范》及本公司Q/CPFPC-HSEMS/SC-20GG《健康、安全、环境管理手册》20GGA版修改而成的。 它说明了天津中油飞鸽对健康安全环境工作的管理方法和控制要求,是贯彻HSE方针,实现HSE目标,满足HSE管理要求的指导性文件,现予以批准发布。 本程序文件适用于天津中油飞鸽各部门,要求公司各部门必须按照本程序认真贯彻执行,确保我公司HSE管理体系持续有效运行。 管理者代表: 年月日 前言 本标准是依据中油飞鸽管道防腐有限公司Q/CPFPC-HSEMS/CG-20GG《健康安全环境程序文件》(20GGA版)由质量安全部主(编)修订的,本标准修订后共计24个程序,它满足和符合GB/T24001-20GG《环境管理体系要求及使用指南》、GB/T28001-20GG《职业健康安全管理体系规范》和中国石油天然气集团公司Q/SY1002.1-20GG《健康、安全与环境管理体系规范》三个标准 在修订过程中质量安全部广泛征求各部门的意见,经过反复讨论修改,最后由质量安全部会同相关部门审查定稿。 [实用参考]2014HSE程序文件全文共87页,当前为第1页。本程序文件发布之日起,20GG-A版HSE程序文件停止使用,程序文件的解释权由质量安全部负责。 [实用参考]2014HSE程序文件全文共87页,当前为第1页。 本标准由天津中油飞鸽管道防腐有限公司质量安全部提出并归口管理。 本标准主编部门:天津中油飞鸽管道防腐有限公司质量安全部 本标准主要起草人:张凯、师伟宁、黑里鹏、张良、路远、左彪、张潇、焦向峰等 [实用参考]2014HSE程序文件全文共87页,当前为第2页。本标准的解释权由天津中油飞鸽管道防腐有限公司质量安全部负责解释 [实用参考]2014HSE程序文件全文共87页,当前为第2页。 目录 第一章危险辨识与风险评价控制程序 4 4 第二章环境因素识别与评价控制程序 10 第三章法律法规和其它要求及合规性评价报告程序 14 第四章目标指标和管理方案控制程序 17 第五章能力、培训和意识控制程序 20 第六章协商与信息交流控制程序 24 第七章文件控制程序 28 第八章设施完善性控制程序 33 第九章承包方和供应方控制程序 36 第十章作业许可控制程序 38 第十一章采购控制程序 40 第十二章涂敷过程控制程序 43 第十三章环境保护和清洁生产控制程序 46 第十四章易燃易爆品及消防安全管理程序 50 第十G五章交通安全管理程序 53 第十六章员工健康管理程序 54 第十七章变更管理程序 56 [实用参考]2014HSE程序文件全文共87页,当前为第3页。第十八章应急准备和相应控制程序 59 [实用参考]2014HSE程序文件全文共87页,当前为第3页。 第十九章监测和绩效测量控制程序 63 第二十章不符合、纠正措施和预防措施控制程序 66 第二十一章事故、事件管理控制程序 68 第二十二章记录控制程序 70 第二十三章内部审核控制程序 73 [实用参考]2014HSE程序文件全文共87页,当前为第4页。第二十四章管理评审控制程序 77 [实用参考]2014HSE程序文件全文共87页,当前为第4页。 1.目的 对公司活动、产品和服务过程的危害进行辩识、评价其风险程度,从而对产生的危害和风险进行削减和控制,保证风险控制措施得到有效实施。 2.范围 本程序适用于对公司及承包方在活动、产品和服务中产生的危害进行辩识和风险评价,适用于风险控制措施的管理和更新。 3.职责 质量安全部是本程序的归口管理部门,负责组织危害辩识和风险评价工作,并对风险控制措施的实施情况进行监督。 质量安全部组织有关部门依据风险评价结果组织制定并执行风险控制措施。 总经理或管理者代表审批风险控制措施。 各部门员工参与危害辩识和风险评价工作。 综合办公室组织风险控制措施的培训。 有关部门组织风险控制措施的实施。 4.程序内容 工作流程:确定范围和时机—识别危害—评价风险—风险分级—风险控制 4.1危害和影响的确定范围 厂址(包括地理位置、地质状况、气象条件及常见的自然灾害,周边相关方和可利用资源如医疗救护条件和周边交通状况等); 厂区平面布局(包括生产、生活、办公室等的布局,易燃、易爆物品及噪声源等的分布,安全防护距离等); 常规和非常规的工作环境及操作条件(正常生产状态、生产线、设备、设施维护、维修状态等); [实用参考]2014HSE程序文件全文共87页,当前为第5页。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值