最近用Python写了个提取文本内容的小脚本,但是由于运行时间过长且打包的文件大小太大(7Mb),所以今天尝试用C++重写了,记录一下新学的两个小技巧。
隐藏黑窗口
首先,如果我们的程序运行结果不需要在终端输出的话(例如我是直接把输出的结果粘贴到剪贴板),可以在main函数的第一行加上一行,例如:
int main(int argc,char *argv[])
{
ShowWindow(FindWindow("ConsoleWindowClass",argv[0]),0);
...
}
如果main函数没有传递argv需要在括号中加入。即:
int main(int argc,char *argv[])
这样运行生成的exe可执行文件就不会弹出窗口。
给程序加图标
其次,然后要给编译的程序加图标,我们需要将ico图标文件和源代码放在同一目录下,例如:
然后在此目录内新建一个文本文件,写入以下内容:
A ICON "or.ico"
将上面的or.ico替换成你自己的图标文件名称即可,将其另存为.rc后缀文件,如图:
再使⽤windres链接rc⽂件,链接输出⽂件扩展名为o,例如:
windres -i "ico.rc" -o "ico-out.o"
会得到一个后缀为.o的文件,例如:
最后使⽤g++⼀起编译你的源程序和链接后的图标资源⽂件:
g++ or.cpp ico-out.o -o orange.exe
上面的文件命名没有限制,可以用你自己的,只要后缀正确即可。
如果过程没有问题,那么你将得到最终编译的文件:
至此大功告成。
补充一个emoji网站,可以下载里面好看的png格式图片,再转成ico图标文件。
—>传送门<—