实现
#pragma comment(linker,"/subsystem:\"Windows\" /ENTRY:\"mainCRTStartup\"")
将如上代码添加到源文件即可。
原理
预处理指令 #pragma comment……
告诉链接器将程序链接为标准窗口程序
,入口点为 mainCRTStartup
;也就是说,此时你的程序是没有图形界面的窗口程序。
示例
#include <stdlib.h>
#pragma comment(linker,"/subsystem:\"Windows\" /ENTRY:\"mainCRTStartup\"")
int main(void)
{
printf("1234,1234");
return 0;
}
如上代码运行时,程序本身不会产生窗口,所以看不到打印内容。
注意事项
程序运行后仍旧会打开标准输入输出和错误文件,但标准输入处于不可用状态;如果需要输入可以通过重定向的方式将标准输入重定向至文件,或者使用所在系统提供的用于图形窗口程序的键盘处理函数。