【问题标题】:What language are NSIS scripts written in?NSIS 脚本是用什么语言编写的?
【发布时间】:2012-05-02 06:35:37
【问题描述】:

NSIS 脚本是用什么语言编写的?

它是 NSIS 自己的语言还是通用语言甚至是汇编本身?它看起来对 Assembly 非常熟悉。我查看了该网站以试图找出它是什么语言,但它没有解释它是什么语言。

【问题讨论】:

    标签: installation nsis


    【解决方案1】:

    NSIS 用于编写脚本的指令有点像交叉 在 PHP 和程序集之间。

    这就是手册要说的。脚本语言是 NSIS 独有的,我看不出将它与其他语言进行比较的意义。 (NSIS 从基本的Winamp plugin installer 演变而来,更多历史可用here

    几年前添加了LogicLib,它添加了“高级”宏,因此您可以在没有goto 的情况下执行基本的If 和循环。调用函数和插件仍然需要将参数推送到堆栈 asm 样式。

    语言基本上有三种指令:

    • Preprocessor(定义、包含和宏等),它们以! 开头(!if 1 > 0
    • Attributes/属性:图标、版本信息等
    • Instructions 在安装/卸载期间执行(指令放在函数和部分中)

    安装程序 UI 包含一个或多个 pages。每个页面都可以基于多个回调函数(Show、Leave 等)执行代码,但大多数指令在 instfiles 页面(带有进度条和日志窗口的页面)上执行 instfiles 页面执行所有部分中的代码。 section 基本上是用于将安装程序组织成不同部分的文件和说明的集合。如果安装程序包含一个组件页面,则会为用户提供一个列表,他们可以在其中选择要执行的部分。

    可以在in the source 找到完整的指令列表(此列表不包括来自外部包含文件的插件和帮助宏)编译器 (makensis.exe) 验证并压缩这些指令(以及您包含的其他文件)放入一个附加到用 C 编写的小型 GUI 应用程序的 blob 中。这个小应用程序解释这些指令...

    【讨论】:

      【解决方案2】:

      这是他们自己的“语言”,松散地基于汇编程序。

      据我了解,它会将其编译为本机代码,因此安装程序如此之小 :)

      【讨论】:

      • 问题是关于语言而不是它当前工作方式的内部结构,但我会尽力描述两者......
      猜你喜欢
      • 2022-10-26
      • 1970-01-01
      • 2011-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-20
      • 1970-01-01
      • 2010-12-03
      相关资源
      最近更新 更多