热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

c++打包exe_pyinstaller打包的exe太大?你需要嵌入式python玄学充实篇

【上完课的我写的并没有逃课】只见上篇我们介绍了GCC编译c调用pythonCodingDog:pyinstaller打包的exe太大?你需要嵌入式pyt
d1a062547365837c6b447f4910976275.png

【上完课的我写的 并没有逃课】

只见上篇我们介绍了GCC编译c调用python

CodingDog:pyinstaller打包的exe太大?你需要嵌入式python玄学 GCC篇​zhuanlan.zhihu.com
7000c343bd2b38eb58077c215c9a1553.png

ps! 有同学提出可以用python写这个Launcher 然后用pyinstaller打包这个Launcher 我想说:很好! 现在我们的同学已经可以提出有创意的想法了!点赞!

@孤独的电子 就是这位 大家要向人家学习哈~

那先来写一下怎么用python写这个吧~

和c差不多啊 都一个损出:

import

同样 这个是阻塞的 非阻塞用popen(subprocess貌似也可以- -忘记了)

然后把这个py文件打包出来就好了啊~

--完事-- 进入正题


那明明可以不安装gcc 不写c 为什么还要这么麻烦呢?

是因为可以用c写出来一个命令行窗口啊~ 像这样的~(不是我写的 @gygigi khgjkbj 这位大佬写的 给大佬磕头orz)

ca975a25e143ff918f243392893453c0.png

而且还可以给程序加上special的详细信息还有图标~:

9c566175596c2ac86c331e74ff89dbcb.png

命令行这玩意=w= 不好看 不讲(我不会)

讲讲这个详细信息怎么搞:

其实vscode提供了可以修改详细信息的方法 但是我们又不用vscode编译

原理都是一样的啊 详细信息呢都是存在.rc文件里面的 图标也存在这

我们要做的就是把图标放到和.c&.rc一起的文件夹下 用GCC编译出来就好了

. rc需要这么写:

2 ICON "xxx.ico"
1 VERSIONINFOFILEVERSION 2,3,3,3PRODUCTVERSION 2,3,3,3FILEOS 0x4LBEGINBLOCK "StringFileInfo"BEGINBLOCK "080404E4"BEGINVALUE "CompanyName", "NKUCodingCat Co.Ltd"VALUE "FileDescription", "NKU-SSS-in-One Project General Launcher"VALUE "FileVersion", "1.0"VALUE "InternalName", "Launcher on Windows"VALUE "LegalCopyright", "GPLv2"VALUE "OriginalFilename", "小心使用,谨防水表"VALUE "ProductName", "NKU-SSS-in-One"VALUE "ProductVersion", "2.3.3 build 42"VALUE "Comments", "@#¥%……&*()一群渣渣。"ENDENDBLOCK "VarFileInfo"BEGINVALUE "Translation", 0x0804, 1252ENDEND

你们自己对照去吧233 第一行引号里面的是图标的文件名 其他的···没啥了

那我们需要怎么把这玩意编译进exe呢?

写一个.bat就好了:

set rc=%~dp0%test.rc
set c=%~dp0%test.c
set o=%~dp0%test.o
set exe=%~dp0%test.exe
windres "%rc%" "%o%"
gcc "%o%" "%c%" -o "%exe%"
del "%o%"

注意文件名不能以数字开头!

e25c849b1b73f806950214e188f67aa2.gif

至于数字证书嘛~ 百度去吧~


最近降温 知友注意保护好自己

我已感冒QAQ 这一期就写到这吧

Embedded-python也告一段落了~

我也没啥好写的了 努力提升自己吧 各自加油~

之后更新的话 大概先是python数据结构实现(有注释- -~)

然后 十一之后嘛 我会学单片机和c 加油吧~ 谢谢一路支持我的知友

如果对上面那个没讲的黑乎乎的命令行感兴趣- -

可以去看一下文章 创建子线程 还有上面提到那位帮了我很多忙的大佬的作品:

https://stackoverflow.com/questions/5177140/creating-independent-process​stackoverflow.comhttps://github.com/NKUCodingCat/NKU-SSS-in-One/blob/master/Launcher_src/win/main_win.c​github.com

在此再次感谢南开代码喵给我的帮助~ 这就是互联网的分享精神啊 这就是爱啊 233

【溜了 会脱更很久很久了 大概 再见~



推荐阅读
  • Python中sys模块的功能及用法详解
    本文详细介绍了Python中sys模块的功能及用法,包括对解释器参数和功能的访问、命令行参数列表、字节顺序指示符、编译模块名称等。同时还介绍了sys模块中的新功能和call_tracing函数的用法。推荐学习《Python教程》以深入了解。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • 本文介绍了使用哈夫曼树实现文件压缩和解压的方法。首先对数据结构课程设计中的代码进行了分析,包括使用时间调用、常量定义和统计文件中各个字符时相关的结构体。然后讨论了哈夫曼树的实现原理和算法。最后介绍了文件压缩和解压的具体步骤,包括字符统计、构建哈夫曼树、生成编码表、编码和解码过程。通过实例演示了文件压缩和解压的效果。本文的内容对于理解哈夫曼树的实现原理和应用具有一定的参考价值。 ... [详细]
  • 手把手教你使用GraphPad Prism和Excel绘制回归分析结果的森林图
    本文介绍了使用GraphPad Prism和Excel绘制回归分析结果的森林图的方法。通过展示森林图,可以更加直观地将回归分析结果可视化。GraphPad Prism是一款专门为医学专业人士设计的绘图软件,同时也兼顾统计分析的功能,操作便捷,可以帮助科研人员轻松绘制出高质量的专业图形。文章以一篇发表在JACC杂志上的研究为例,利用其中的多因素回归分析结果来绘制森林图。通过本文的指导,读者可以学会如何使用GraphPad Prism和Excel绘制回归分析结果的森林图。 ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
author-avatar
廖蓉以
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有