用NSIS脚本写成什么语言?
是NSIS自己的语言还是共同语言甚至是大会本身?它看起来非常熟悉大会。我在网站上看了一下,试图找出它是什么语言,但它没有解释它是什么语言。
答案 0 :(得分:6)
NSIS用于脚本编写的指令是一种交叉 在PHP和汇编之间。
这就是手册所说的。脚本语言是NSIS独有的,我没有真正看到将它与其他语言进行比较的重点。 (NSIS从基本Winamp plugin installer演变而来,更多可用历史here)
几年前添加了LogicLib,它添加了“高”级别的宏,因此您可以执行基本的If和循环而不使用goto。调用函数和插件仍然需要将参数推送到堆栈asm样式。
该语言基本上有三种说明:
!
(!if 1 > 0
)安装程序用户界面由一个或多个pages组成。每个页面都可以根据几个回调函数(Show,Leave等)执行代码,但是大多数指令都在instfiles页面上执行(带有进度条和日志窗口的页面)instfiles页面执行所有部分中的代码。 section基本上是用于将安装程序组织到不同部分的文件和说明的集合。如果安装程序包含组件页面,则会为用户提供一个列表,供他们选择要执行的部分。
可以找到完整的指令列表in the source(此列表不包含来自外部包含文件的插件和帮助程序宏)编译器(makensis.exe)验证并压缩这些指令(以及您拥有的其他文件)包含在一个blob中,附加到用C编写的小型GUI应用程序。这个小应用程序解释了这些指令......
答案 1 :(得分:3)
这是他们自己的'语言'松散地基于汇编程序。
据我所知,它将其编译为本机代码,因此安装程序如此之小:)