24小时热门版块排行榜    

查看: 461  |  回复: 5

微尘、梦想

木虫 (知名作家)

[交流] sudo给看下,能不能解决~超级郁闷 已有2人参与

回复此楼

» 本帖@通知

@sudo

» 猜你喜欢

任风云变幻,我笑对人生!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 欢迎应助 2011-09-25 19:55:33
感应到召唤术了,那就现身吧=,=~

首先出现这个问题的原因是:新建的时候,你错误选择了项目类型。本来应该是"win32控制台应用程序"(win32 console application)的,但是却错误地选择了"win32项目"

让我们把目光放远一些:

windows支持两种类型的应用程序,一个是“图形用户界面”(Graphical User Interface, GUI),另一个是“控制台用户界面”(Console User Interface, CUI)。从字面上应该就能理解,就不多解释了。

然后,VS什么时候知道该把程序做成GUI还是CUI呢?答案是:链接期。运行程序的时候,加载器(loader)会查看文件头,看看是哪个subsystem,然后再响应地处理执行该程序。

于是怎么让程序链接成功,方法也有很多种:

1. 重新建立一个正确类型的项目。很显然这是可行的方法,不过你这么做的话,可能你将有点知其然不知其所以然了。

2. 见图。更改项目属性里面的“链接器”的“系统”属性,把/subsystem:windows改成/subsystem:console就可以了。


有其他问题就再问吧

最后推荐一本书Jeffrey Richter的《Windows核心编程(第5版)》(Windows via C/C++),这书除了提到这个问题之外,其他很多内容对于初步接触windows程序设计的同学也很有益~
2楼2011-09-25 19:47:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dubo

金虫 (著名写手)

优秀版主


小木虫(金币+0.5):给个红包,谢谢回帖
我记得我的头文件缺省的时候也会出现这个错
3楼2011-09-25 19:55:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖
=.=翻了一下书,发现那个地方讲得还是比较细的,强烈推荐去看看书~

内容比较多,这里就不贴出来了...

另外再推荐学会在命令行下利用VC的编译器cl.exe,还有套装里面的链接器link.exe来编译、链接一个程序,各种选项可以上网查。搞清楚编译链接过程之后,C语言就入门了
4楼2011-09-25 19:56:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖
引用回帖:
3楼: Originally posted by dubo at 2011-09-25 19:55:07:
我记得我的头文件缺省的时候也会出现这个错

呃...什么叫“头文件缺省”?

你遇到的错误可能是编译期错误,而不是楼主遇到的链接期错误
5楼2011-09-25 19:58:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

微尘、梦想

木虫 (知名作家)

引用回帖:
2楼: Originally posted by sudo at 2011-09-25 19:47:59:
感应到召唤术了,那就现身吧=,=~

首先出现这个问题的原因是:新建的时候,你错误选择了项目类型。本来应该是"win32控制台应用程序"(win32 console application)的,但是却错误地选择了"win32项 ...

一语中的
任风云变幻,我笑对人生!
6楼2011-09-25 20:08:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 微尘、梦想 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见