小结:

1、可执行代码(Executable Code)是指将目标代码(object code)连接后形成的代码,简单来说是机器能够直接执行的代码。

https://baike.baidu.com/item/可执行代码

目标代码(object code)指计算机科学中编译器或汇编器处理源代码后所生成的代码,它一般由机器代码或接近于机器语言的代码组成。 [1]  在计算机科学中,可执行代码(Executable Code)是指将目标代码连接后形成的代码,简单来说是机器能够直接执行的代码。可执行代码一般是可执行文件的一部分。
 
中文名
可执行代码
外文名
Executable Code
学    科
计算机科学
定    义
目标代码连接后形成的代码
有关术语
可执行文件
应    用
软件程序、内存泄露检查

简介

可执行代码(Executable Code)是指将目标代码连接后形成的代码,简单来说是机器能够直接执行的代码,可执行代码当然也是二进制的。源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。 [2]  在计算机程序设计中,一般建议将源代码与可执行代码分离存储。问题在于不同平台下编译出来的可执行代码是不同的,例如一个程序复制到不同的电脑上,即便代码不做任何修改,VI也会被修改,因为VI中包含的可执行代码变了。理论上,可执行代码与源代码分离开来,可以提高程序的加载速度:程序可以各取所需,只加载源代码或只加载可执行代码。

可执行文件与可执行程序

可执行文件 (executable file) 指的是可以由操作系统进行加载执行的文件。在不同的操作系统环境下,可执行程序的呈现方式不一样。通常可执行文件内,含有以二进制编码的微处理器指令,也因此可执行文件有时称为二进制档。这些二进制微处理器指令的编码,于各种微处理器有所不同,故此可执行文件多数要分开不同的微处理版本。一个电脑文件是否为可执行文件,主要由操作系统的传统决定。例如根据特定的命名方法(如扩展名为exe)或文件的元数据信息(例如UNIX系统设置“可运行”权限)。在现代的各种电脑架构,可执行文件除了有程序的信息之外,还有其他信息,例如让程序运行的操作系统设置值数据、调试数据等等。
可执行程序(executable program,EXE File)是指一种可在操作系统存储空间中浮动定位的可执行程序。在MS-DOS和MS-WINDOWS下,此类文件扩展名为·exe。
WINDOWS操作系统中的二进制可执行文件,分两种:
一种后辍名为·com,另一种是·exe 。
DOS规定,有重名的exe和com,运行时优先执行com文件。如果只有A.exe,就可以直接输入A,而不用输入全名。但如果有A.com和A.exe,输入A则优先执行A.com,要运行A.exe只能输入A.exe而不能输入A。一般用于DOS,在WINDOWS系统中的执行文件一般都是.exe文件。在 MS-DOS 中,用以标识可执行文件的文件扩展名。用户在提示行输入不带 .exe 扩展名的文件名后按 Enter 键或者点双击就能运行可执行程序。

ECMA的可执行代码类型

一共有三种 ECMA 脚本可执行代码:
全局代码是指被作为 ECMAScript Program 处理的源代码文本。一个特定 Program 的全局代码不包括作为 FunctionBody 被解析的源代码文本。
Eval 代码是指提供给 eval 内置函数的源代码文本。更精确地说,如果传递给 eval 内置函数的参数为一个字符串,该字符串将被作为 ECMA 脚本 Program 进行处理。在特定的一次对 eval 的调用过程中,eval 代码作为该 Program 的全局代码部分。
函数代码是指作为 FunctionBody 被解析的源代码文本。一个 FunctionBody 的函数代码不包括作为其嵌套函数的 FunctionBody 被解析的源代码文本。函数代码同时还特指以构造器方式调用 Function 内置对象时所提供的源代码文本。更精确地说,调用 Function 构造器时传递的最后一个参数将被转换为字符串并作为 FunctionBody 使用。如果调用 Function 构造器时,传递了一个以上的参数,除最后一个参数以外的其他参数都将转换为字符串,并以逗号作为分隔符连接在一起成为一个字符串,该字符串被解析为 FormalParameterList 供由最后一个参数定义的 FunctionBody 使用。初始化 Function 对象时所提供的函数代码,并不包括作为其嵌套函数的 FunctionBody 被解析的源代码文本。
严格模式下的代码
一个 ECMA 脚本程序的语法单元可以使用非严格或严格模式下的语法及语义进行处理。当使用严格模式进行处理时,以上三种代码将被称为严格全局代码、严格 eval 代码和严格函数代码。当符合以下条件时,代码将被解析为严格模式下的代码:
当全局代码以指令序言开始,且该指令序言包含一个使用严格模式指令时,即为严格全局代码。
当 Eval 代码以指令序言开始,且该指令序言包含一个使用严格模式指令时;或者在严格模式下的代码中通过直接调用 eval 函数时,即为严格 eval 代码。
当一个 FunctionDeclaration、FunctionExpression 或 PropertyAssignment 访问器处在一段严格模式下的代码中,或其函数代码以指令序言开始,且该指令序言包含一个使用严格模式的指令序言时,该函数代码即为严格函数代码。
当调用内置的 Function 构造器时,如果最后一个参数所表达的字符串在作为 FunctionBody 处理时以指令序言开始,且该指令序言包含一个使用严格模式的指令,则该函数代码即为严格函数代码。
 
 
 

可执行代码(Executable Code)目标代码(object code)的更多相关文章

  1. SQL Server安全(6/11):执行上下文与代码签名(Execution Context and Code Signing)

    在保密你的服务器和数据,防备当前复杂的攻击,SQL Server有你需要的一切.但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念.这篇文章提供了基础,因此你可以对SQL Se ...

  2. 源代码 VS 汇编代码 VS 目标代码 VS 字节码 VS 机器码

    1.源代码(source code) 源代码就是平时我们开发的代码:比如C.Java.Python.Shell...等 public class HelloWorld { public static ...

  3. JQuery html API支持解析执行Javascript脚本功能实现-代码分析

    JQuery html用法(功能类似innerHTML) 开发中需要使用Ajax技术来更新页面局部区域, 使用的方法是ajax获取html代码段(字符串),然后将这个html代码段作为参数,传入目标D ...

  4. 解决“在多字节的目标代码页中,没有此Unicode字符可以映射到的字符”

    今天在处理Google网站管理员中的500错误时发现这样一些URL: http://www.cnblogs.com/Garnai/tag/3D%3F%96%CA/ http://www.cnblogs ...

  5. 《Clean Code》 代码简洁之道

    作者介绍 原文作者: Robert C. Martin, Object Mentor公司总裁,面向对象设计.模式.UML.敏捷方法学和极限编程领域的资深顾问,是<敏捷软件开发:原则.模式.与实践 ...

  6. 动态执行 VB.NET 和 C# 代码

    有时候我们需要尝试动态地与一些代码进行交互,而不是只能执行程序内已编死的代码,那该怎么办呢?我首先推荐各种脚本语言,如Javascript.Lua.Python等等,这些脚本语言有很多优秀的第三方类库 ...

  7. Delphi 如何在程序中执行动态生成的Delphi代码

    如何在程序中执行动态生成的Delphi代码 经常发现有人提这类问题,或者提问内容最后归结成这种问题 前些阵子有位高手写了一个“执行动态生成的代码”,这是真正的高手,我没那种功力,我只会投机取巧. 这里 ...

  8. python学习记录_中断正在执行的代码,执行剪切板中的代码,键盘快捷键,魔术命令,输入和输出变量,记录输入和输出变量_

    2018-03-28 00:56:39 中断正在执行的代码 无论是%run执行的脚本还是长时间运行的命令ctrl + cIn [1]: KeyboardInterrupt 执行剪切板中的代码 ctrl ...

  9. VS code调试代码快速上手必备知识

    一.通过简单的配置运行一个JavaScript程序 1.打开(创建)一个新的工作空间(文件夹),并创建一个js文件: var name='world'; var s='Hello,${name}!'; ...

随机推荐

  1. pandas DataFrame.shift()函数

    pandas DataFrame.shift()函数可以把数据移动指定的位数 period参数指定移动的步幅,可以为正为负.axis指定移动的轴,1为行,0为列. eg: 有这样一个DataFrame ...

  2. ES6,新增数据结构Map的用法

    Javascript的Object本身就是键值对的数据结构,但实际上属性和值构成的是”字符串-值“对,属性只能是字符串,如果传个对象字面量作为属性名,那么会默认把对象转换成字符串,结果这个属性名就变成 ...

  3. Maven包下载不下来的情况

    从svn上遇到过项目下载下来,缺丢失了一些包,怎么都下载不了,只能从同事的电脑上给拷贝下来? 千万别这样,别问为何,说多了都是泪,然后发现. 如果是eclipse的话: 勾选这两个选项,就能下载下来了 ...

  4. Java知多少(61)线程优先级

    线程优先级被线程调度用来判定何时每个线程允许运行.理论上,优先级高的线程比优先级低的线程获得更多的CPU时间.实际上,线程获得的CPU时间通常由包括优先级在内的多个因素决定(例如,一个实行多任务处理的 ...

  5. Asp.net常用的三十多个代码(非常实用)

    1.//弹出对话框.点击转向指定页面 Response.Write("<script>window.alert('该会员没有提交申请,请重新提交!')</script> ...

  6. [PHP] 07 - Json, XML and MySQL

    前言 [Node.js] 09 - Connect with Database 菜鸟JSON教程[内容不多] PHPSimpleXML[大概了解下即可] SQL语句需要复习一遍:http://www. ...

  7. 【Docker】容器操作(转)

    来自:https://www.cnblogs.com/zydev/p/5803461.html 列出主机上的容器 列出正在运行的容器:   docker ps 列出所有容器:  docker ps - ...

  8. Qt编写echart仪表盘JS交互程序支持webkit和webengine(开源)

    Echart是百度研发团队开发的一款报表视图JS插件,功能十分强大,是本人用过的国产作品中最牛逼的,记得四五年前就在qt中使用过,当时用的浏览器控件是webkit,由于5.6以后的版本不再支持webk ...

  9. 十二、K3 WISE 开发插件《工业单据老单与自己添加的窗体 - 互相传值传参》

    ===================================== 目录: 1.演示效果--[销售订单]传值给[自定义窗体] 2.演示效果--[自定义窗体]传值给[销售订单] 3.附源码 4. ...

  10. inittab 解析

    Linux完成内核(Kernel)引导后,会由init初始化进程调用/etc/inittab配置文件(ps -aux | less,init进程号为始终为1,是所有系统进程的起点,init进程也有一个 ...