windows为何不报告main函数运行失败呢?

clever101
领域专家: C/C++技术领域
2008-10-26 10:47:56
一般来说,main函数返回-1表示运行失败。但在VC 6.0上编一个控制台程序,main函数返回0和返回-1没有区别。main函数返回-1时,windows为何不报告main函数运行失败呢?
...全文
115 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
太乙 2008-10-26
  • 打赏
  • 举报
回复
呵呵,ls讲的很明白了!main的返回值是给调用它的程序看的!
arong1234 2008-10-26
  • 打赏
  • 举报
回复
main函数返回值多少有点是C/C++语言自己的定义,而实际上进程的异常有其自己的渠道,操作系统并不认同C/C++语言关于0是正常-1是错误这种定义
arong1234 2008-10-26
  • 打赏
  • 举报
回复
这个返回值不是返回给系统的,而是留给关心这个程序的程序的,操作系统没有必要关心每个进程的成功和失败。例如当你设计两个关联的进程1.exe/2.exe, 2.exe可以检查1.exe的main返回值做特定的动作。

windows设计的理念就是进程隔离,一个错误局限在一个进程之内。再说,系统就是想关心,它也不知道该怎么处理你返回的0或者-1
hu_vane 2008-10-26
  • 打赏
  • 举报
回复
main函数的返回并不是意味需要被系统处理。
baihacker 2008-10-26
  • 打赏
  • 举报
回复
你在控制台下放一个编译好的程序,假设名字为a

a&&dir
就知道了(表示如果a成功结束的话那么执行dir)
frank_ll 2008-10-26
  • 打赏
  • 举报
回复
不一定说返回-1就表示失败,失败不失败是自己定义的,如果我定义-1表示成功,那么他就是成功。
main中的return仅仅是返回一个值,表示程序结束的值。
在Linux下可以用
echo $?
命令查看返回值,以确定你的错误类型

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧