最新消息:

NSIS源码makenssi学习笔记

nsis 永恒心锁 2314浏览 0评论
/ nsis版本
const char *NSIS_VERSION="v2.46";
// 将标准输出重定向到文件当中
FILE *g_output=stdout;
// 指针的指针**
int main(int argc, char **argv)
/*
#include <stdio.h>
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
 // 定义一个字符指针数组
 char* arr[] = {"hello","world","pythonschool.com"};
 // 定义一个指向指针的指针,arr为数组首地址==&arr[0]
 char **ppi = arr;
 // 输出第2个字符串(ppi+1),从第2个字符开始输出
 cout << *(ppi+1)+1 << endl; // 结果:"orld"
 // 暂停等待输入字符回车
 getchar();
 return 0;
}
*/
// 显示nsis的版本号
// fprintf格式化数据输出到一个缓冲区或文件
// fflush清除文件缓冲,文件以写方式打开时将缓冲区内容写入文件
 if (argc > 1 && !stricmp(argv[1], "/VERSION"))
 {
 fprintf(g_output,NSIS_VERSION);
 fflush(g_output);
 return 0;
 }
// The /V 开关及后面跟随的 0 ~ 4 数字设定了输出。0=无输出,1=仅错误,2=警告和错误,3=信息、警告和错误,4=全部输出。
 if (argc > 1 && argv[1][0]=='/' && (argv[1][1]=='v' || argv[1][1]=='V'))
 {
 tmpargpos++;
 if (argv[1][2] <= '2' && argv[1][2] >= '0')
 {
 no_logo=1;
 }
 }
// 代码中间功能,设置编译信息,提示信息
// makensis [选项 | script.nsi | - [...]]
/*
选项
/LICENSE 显示一个许可页面。
The /V 开关及后面跟随的 0 ~ 4 数字设定了输出。0=无输出,1=仅错误,2=警告和错误,3=信息、警告和错误,4=全部输出。
The /P 开关及后面跟随的 0 ~ 5 数字设定编译程序进程的优先级。 0=空闲, 1=低于正常, 2=正常 (默认), 3=高于正常, 4=高, 5=立即。
The /O 开关及后面跟随的记录文件告诉编译器输出记录到记录文件而不是屏幕。
/PAUSE 使得 makensis 在退出前暂停,当直接从 Windows 执行时非常有用。
/NOCONFIG 禁止包含 nsisconf.nsh 。没有这个参数的话,安装程序默认从 nsisconf.nsh 读取设置。
/CMDHELP 输出基本的命令用法信息(如果指定了命令),或所有命令(如果未指定命令)。
/HDRINFO 输出 makensis 编译的选项信息。
/NOCD 禁止把当前目录更改到 .nsi 文件。
使用 /D 开关一次或多次将会把符号添加到全局定义列表 (请看 !define)。
使用 /X 开关一次或多次将会执行你随后指定的代码。例如: "/XAutoCloseWindow false"
对脚本名指定一个破折号(-)将会通知 Makensis 把标准输入作为源来使用。
*/
// 调用build.write_output()进行exe文件写入即生成文件
 if (build.write_output())
 {
 if (build.display_errors)
 {
 fprintf(g_output,"Error - aborting creation processn");
 fflush(g_output);
 }
 return 1;
 }
// 生成主程序 开始输出信息
 FILE *fp = fopen(build_output_filename,"w+b");
 if (!fp)
 {
 ERROR_MSG("Can't open output filen");
 return PS_ERROR;
 }
免责声明:根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。丨本站为个人博客非盈利性站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途。丨本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权BY-NC-SA协议进行授权

转载请注明:永恒心锁-分享互联网 » NSIS源码makenssi学习笔记

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址