NSIS脚本使用哪种语言编写?

3

NSIS 脚本使用什么语言编写?

它是 NSIS 自己的语言还是一种通用语言甚至是汇编语言本身?它看起来非常像汇编语言。我在网站上查找了有关语言的信息,但没有解释使用的是哪种语言。

2个回答

6
NSIS使用的脚本指令有点像PHP和汇编语言的混合体。这是手册上的说法。这种脚本语言是NSIS独有的,我不太明白将其与其他语言进行比较的意义。(NSIS起源于基本的Winamp插件安装程序,更多历史信息可在此处找到) 几年前,LogicLib被添加进来,它添加了“高”级别的宏,因此您可以执行基本的if和循环而无需使用goto。调用函数和插件仍需要像汇编一样将参数推入堆栈。该语言基本上有三种类型的指令: 安装程序的用户界面由一个或多个 页面 组成。每个页面都可以基于一些回调函数(Show、Leave 等)执行代码,但大部分指令都是在 instfiles 页面上执行的(一个带有进度条和日志窗口的页面)。instfiles 页面会执行所有章节中的代码。章节 基本上是用于将安装程序组织成不同部分的文件和指令集合。如果安装程序包含组件页面,则用户将获得一个列表,在该列表中他们可以选择要执行哪些章节。
完整的指令列表可以在 源代码中 找到(该列表不包括来自外部 include 文件的插件和辅助宏)。编译器(makensis.exe)会验证和压缩这些指令(以及其他您包含的文件),然后将它们附加到用 C 写成的小 GUI 应用程序后面。这个小应用程序会解释这些指令…

3

它是一种基于汇编语言的“语言”,属于他们自己的领域。

据我所知,它将代码编译成本地代码,这也是为什么安装程序如此小的原因 :)


这个问题是关于语言本身而不是它当前的内部工作方式,但我会尽力描述两者... - Anders

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接