如何隐藏控制台窗口,编译器很小 C
//Tiny C -> http://download.savannah.gnu.org/releases/tinycc/
#include <stdlib.h>
int main()
{
system("Taskkill /IM test.exe /F");
return 0;
}
当操作系统启动应用程序时,它会在名为IMAGE_OPTIONAL_HEADER的 EXE 文件中查找特殊的描述表。该结构包含所谓Subsystem
的字段。何时- 操作系统Subsystem
将IMAGE_SUBSYSTEM_WINDOWS_CUI
控制台窗口附加到此进程。否则,将不会添加控制台窗口。
编译器/链接器通常具有设置输出应用程序子系统类型的参数,例如,当您使用 Microsoft Linker 链接代码时,您可以添加/SUBSYSTEM:WINDOWS
参数,并且在启动应用程序时您不会看到控制台窗口。
另一种方式:编译器可能会在您的代码中看到函数时自动决定将 EXE 子系统设置为 Console ,或者在您有作为入口点main
时设置 GUI 子系统。WinMain
关于 TCC:我-Wl,-subsystem=gui
在 TCC 文档中看到了选项,但似乎它不起作用。所以尝试发送错误报告或使用更成熟的编译器/链接器。