将Window窗口程序改成Windows 控制台程序

刚刚在为项目搭建单元测试框架, google test必须要求在控制台下显示,因此将项目的窗口程序改成了控制台程序。

 

#pragma comment(linker, "/subsystem:console")

同时将WinMain修改成main。

 

常见错误:

1. #pragma comment(linker, "/ENTRY:main")

 

    编译时提示存在.CRT节, 运行时崩溃( _ASSERTE(_CrtIsValidHeapPointer(pUserData)))。  这   是因为vc的函数真正入口点是mainCRTStartup, 而不是main, mainCRTStartup在main开始前会对crt库进行一些初始化。

 

2.#pragma comment(linker, "/Entry: mainCRTStartup")

在main中写上代码 printf("Hello World/n");运行弹出的控制台界面并不显示Hello World, 原因便是没有指令/subsystem:console,默认的可能是/subsystem:window.另外写上/subsystem:console后,默认会找main函数当作程序入口点,因此也就不需要/Entry:mainCRTStartup了

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值