编译程序

针对于ECMA5Script 、ECMAScript6、TypeScript的认识

爱⌒轻易说出口 提交于 2020-03-16 15:21:37
什么是ECMAScript、什么又是ECMA? Ecma 国际(Ecma International)是一家国际性会员制度的信息和电信标准组织。1994年之前,名为 欧洲计算机制造商协会 (European Computer Manufacturers Association)。因为计算机的国际化,组织的标准牵涉到很多其他国家,因此组织决定改名表明其国际性。现名称已不属于首字母缩略字。 ECMAScript 是一种由 Ecma国际 (前身为 欧洲计算机制造商协会 ,英文名称是European Computer Manufacturers Association)通过ECMA-262标准化的脚本 程序设计语言 。这种语言在 万维网 上应用广泛,它往往被称为 JavaScript 或 JScript ,但实际上后两者是ECMA-262标准的实现和扩展。 ECMAScript和JavaScript到底是什么关系? 很多初学者会感到困惑,简单来说,ECMAScript是JavaScript语言的国际标准,JavaScript是 ECMAScript 的实现。 什么是ECMAScript5,什么是ECMAScript6呢? 有人总认为ECMAScript5就是所谓的ECMAScript2015(是因为都有个5么?),其实是不对了

DELPHI的BPL使用

瘦欲@ 提交于 2020-03-16 06:32:21
了解BPL和DLL的关系将有助于我们更好地理解DELPHI在构件制作、运用和动态、静态编译的工作方式。对初学DELPHI但仍对DELPHI开发不甚清晰的朋友有一定帮助。 BPL vs. DLL (原文http://www.delphi3000.com/ 翻译:房客) 第一部分:有关包的介绍 一般我们编写编译一个DELPHI应用程序时,会产生一个EXE文件,也就是一个独立的WINDOWS应用程序。很重要的一点:区别于Visual Basic,DELPHI产生的是预先包裹的应用程序是不需要大量的运行库(DLL's)。 假设:打开Delphi默认的工程(只有一个空白form),F9她将编译生成一个大约295 KB (Delphi 5)的可执行文件。然后打开Project | Options,把‘Build with runtime packages’选上再编译一下,EXE文件大小就只有15 KB左右了。 我们编译一个DELPHI应用程序时默认地没有选择'Build with runtime packages',编译器将把程序运行所需要的代码直接写入你的EXE文件中,因此产生的程序是一个相对独立的程序,并不需要任何附属的支持文件(例如动态运行库文件DLL),这也就知道了为什么DELPHI产生的应用程序为什么都那么大。 要建立尽可能小的DELPHI程序,方法之一就要充分发挥Borland

QT4.6.0 下 VS2008编译

…衆ロ難τιáo~ 提交于 2020-03-16 05:46:14
//非vc qmake -project qmake //vc的编译 vs2008在其命令提示符下输入 qmake -project -t vcapp -o mytest1.pro qmake vs2008 程序的发布 debug版本用的是QT中的debug版本的dll库,即为后面带d字符的。 release则用的是发布版本的。 dll需要添加 G:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT目录下的 还有就是QT的库了。 QT中dll模块增加的方法 如: pro 文件增加QT += sql //重新qmake 一下。 增加头文件: "属性"->"C/C++"->"常规"->"附加包含目录"增加:D:\QT\4.6.0\include\QtSql 增加lib "属性"->"链接器"->"输入"->"附加依赖项"增加:D:\QT\4.6.0\lib\QtSqld4.lib 来源: https://www.cnblogs.com/hqm850/archive/2009/12/14/1623784.html

python day 1--python初始

可紊 提交于 2020-03-16 03:53:08
笔者:QQ: 360212316 Python初识 Python的创始人为Guido van Rossum。1989年圣诞节期间,在 阿姆斯特丹 ,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承。 python的应用领域 1、云计算 : 云计算最火的语言, 典型应用OpenStack 2、WEB开发 : 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django 3、科学运算、人工智能 : 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas 4、系统运维 : 运维人员必备语言 5、金融 :量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测 6、图形GUI : PyQT, WxPython,TkInter python的优点 1、优雅、明确、简单 2、开发效率高:python有非常强大的第三方库 3、高级语言:当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节 4、可移植性

编译实验三--生成中间代码

不打扰是莪最后的温柔 提交于 2020-03-15 06:39:29
一.实验目的 通过语法制导或翻译模式生成中间代码。 二.实验环境 ①开发语言:java ②开发环境:jdk1.8 三.功能描述 理解并应用课本的语法制导定义。 在自底向上语法分析基础上设计语义规则(语法制导翻译),将源程序翻译为四元式输出,若有错误将错误信息输出。 四.文法和分析表 文法: program → block block → { stmts } stmts → stmt stmts | e stmt → id= expr ; | if ( bool ) stmt | if ( bool) stmt else stmt | while (bool) stmt | do stmt while (bool ) ; | break ; | block bool → expr < expr | expr <= expr | expr > expr | expr >= expr | expr expr → expr + term | expr - term | term term → term * factor | term / factor | factor factor → ( expr ) | id| num 语义规则SDD 产生式 语义规则 program → block block → { stmts } block.addr=stmt.addr block.code

模块与包

僤鯓⒐⒋嵵緔 提交于 2020-03-15 01:05:21
一 模块介绍 1、什么是模块? #常见的场景:一个模块就是一个包含了一组功能的python文件,比如spam.py,模块名为spam,可以通过import spam使用。 #在python中,模块的使用方式都是一样的,但其实细说的话,模块可以分为四个通用类别:  使用python编写的.py文件 已被编译为共享库或DLL的C或C++扩展 把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件夹称之为包) 使用C编写并链接到python解释器的内置模块 2、为何要使用模块? #1、从文件级别组织程序,更方便管理 随着程序的发展,功能越来越多,为了方便管理,我们通常将程序分成一个个的文件,这样做程序的结构更清晰,方便管理。这时我们不仅仅可以把这些文件当做脚本去执行,还可以把他们当做模块来导入到其他的模块中,实现了功能的重复利用 #2、拿来主义,提升开发效率 同样的原理,我们也可以下载别人写好的模块然后导入到自己的项目中使用,这种拿来主义,可以极大地提升我们的开发效率 #ps: 如果你退出python解释器然后重新进入,那么你之前定义的函数或者变量都将丢失,因此我们通常将程序写到文件中以便永久保存下来,需要时就通过python test.py方式去执行,此时test.py被称为脚本script。 3、以spam.py为例来介绍模块的使用: 文件名spam

编译型语言、解释型语言、脚本语言的区别

谁说我不能喝 提交于 2020-03-14 18:42:03
计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。 把高级语言翻译成机器语言的两种方式:一种是编译,一种是解释。两种方式只是翻译的时间不通。 1.编译 编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高,但也不能一概而论,部分解释型语言的解释器通过在运行时动态优化代码,甚至能够使解释型语言的性能超过编译型语言。 最典型的例子就是C语言。 2.解释 解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。解释是一句一句的翻译。 此外,随着Java等基于虚拟机的语言的兴起,我们又不能把语言纯粹地分成解释型和编译型这两种。 用Java来举例,Java首先是通过编译器编译成字节码文件,然后在运行时通过解释器给解释成机器文件。所以我们说Java是一种先编译后解释的语言。 再换成C#,C#首先是通过编译器将C#文件编译成IL文件

windows下面编译redis5.0.5

岁酱吖の 提交于 2020-03-14 04:55:23
先去弄Cygwin环境 http://www.cygwin.com/ 下载完成 打开 下一步 下一步 下一步 下一步 下一步,出现一个界面,让你添加地址,你打开官网,选择mirror sites,点击下面的 Hong Kong( http://mirror-hk.koddos.net/cygwin/ ) 把Hong Kong的地址填上,下一步,出现一个选择包的界面 搜索框里输入文字自动搜索,点击“New”的一列,有个那个下拉按钮,选择版本 还有automake 下一步 下一步 完成 双击桌面上的图标,启动 检查状态和版本 $ cygcheck -c cygwin Cygwin Package Information Package Version Status cygwin 3.0.7-1 OK 检查gcc $ gcc --version gcc (GCC) 7.4.0 Copyright © 2017 Free Software Foundation, Inc. 本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保; 包括没有适销性和某一专用目的下的适用性担保。 检查make $ make --version GNU Make 4.2.1 为 x86_64-unknown-cygwin 编译 Copyright (C) 1988-2016 Free Software

0909编译

给你一囗甜甜゛ 提交于 2020-03-14 03:46:54
1.编译原理学什么? 编译原理主要学习的是编译器的产生过程和对编译器运行的过程方式进行了解,主要有语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 2.为什么学编译原理? 为了更深入的了解程序的编译,了解高级语言。 3.怎么学编译原理? 多看看书,多做课外的上机实验。 4.思考:在没有学习本书理论之前,如果让你写一个编译器,你是什么思路? 首先了解语法,单词,句子。 然后多看程序的结构。 来源: https://www.cnblogs.com/zlcan/p/4795249.html

Nim各种pragma使用方法

六月ゝ 毕业季﹏ 提交于 2020-03-14 01:58:25
Pragmas(编译指示) 编译指示"{."为开始, ".}"为结束, ","号为分隔符, 例如{.cdecl, importc.} deprecated pragma (弃用(分解?)指示) deprecated指示用来标记为弃用. proc p() {.deprecated.} var x {.deprecated.}: char 也可以在声明时使用, 需要定义一个重命名列表. type File = object Stream = ref object {.deprecated: [TFile: File, PStream: Stream].} noSideEffect pragma (无副作用指示) noSideEffect指示用于标记proc(函数)/iterator(迭代器)为无副作用, 好象是在该函数里使用影响效率的函数或者修改某些变量内容就会出错, 如echo 未来的发展方向: func可能成为无副作用函数的关键字或语法糖(就是说以后更新正式版可能会加入func这个关键字来声明无副作用函数.) func `+` (x, y: int): int procvar pragma(过程变量指示) procvar指示用于标记函数, 让它可以被传递给一个过程(函数)变量. compileTime pragma(编译时指示)