【上完课的我写的 并没有逃课】
只见上篇我们介绍了GCC编译c调用python
CodingDog:pyinstaller打包的exe太大?你需要嵌入式python玄学 GCC篇zhuanlan.zhihu.comps! 有同学提出可以用python写这个Launcher 然后用pyinstaller打包这个Launcher 我想说:很好! 现在我们的同学已经可以提出有创意的想法了!点赞!
@孤独的电子 就是这位 大家要向人家学习哈~
那先来写一下怎么用python写这个吧~
和c差不多啊 都一个损出:
import
同样 这个是阻塞的 非阻塞用popen(subprocess貌似也可以- -忘记了)
然后把这个py文件打包出来就好了啊~
--完事-- 进入正题
那明明可以不安装gcc 不写c 为什么还要这么麻烦呢?
是因为可以用c写出来一个命令行窗口啊~ 像这样的~(不是我写的 @gygigi khgjkbj 这位大佬写的 给大佬磕头orz)
而且还可以给程序加上special的详细信息还有图标~:
命令行这玩意=w= 不好看 不讲(我不会)
讲讲这个详细信息怎么搞:
其实vscode提供了可以修改详细信息的方法 但是我们又不用vscode编译
原理都是一样的啊 详细信息呢都是存在.rc文件里面的 图标也存在这
我们要做的就是把图标放到和.c&.rc一起的文件夹下 用GCC编译出来就好了
. rc需要这么写:
2 ICON "xxx.ico"
1 VERSIONINFO
FILEVERSION 2,3,3,3
PRODUCTVERSION 2,3,3,3
FILEOS 0x4L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "080404E4"
BEGIN
VALUE "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", "@#¥%……&*()一群渣渣。"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0804, 1252
END
END
你们自己对照去吧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%"
注意文件名不能以数字开头!
至于数字证书嘛~ 百度去吧~
最近降温 知友注意保护好自己
我已感冒QAQ 这一期就写到这吧
Embedded-python也告一段落了~
我也没啥好写的了 努力提升自己吧 各自加油~
之后更新的话 大概先是python数据结构实现(有注释- -~)
然后 十一之后嘛 我会学单片机和c 加油吧~ 谢谢一路支持我的知友
如果对上面那个没讲的黑乎乎的命令行感兴趣- -
可以去看一下文章 创建子线程 还有上面提到那位帮了我很多忙的大佬的作品:
https://stackoverflow.com/questions/5177140/creating-independent-processstackoverflow.com https://github.com/NKUCodingCat/NKU-SSS-in-One/blob/master/Launcher_src/win/main_win.cgithub.com在此再次感谢南开代码喵给我的帮助~ 这就是互联网的分享精神啊 这就是爱啊 233
【溜了 会脱更很久很久了 大概 再见~