免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: pmerofc
打印 上一主题 下一主题

外部或static变量的生存期长于main()函数? [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
61 [报告]
发表于 2010-07-01 09:32 |只看该作者
既然main只是c库定义的函数,c语言一定要管到main之外
======================================

atexit就是例子嘛。。
如果C不能管到main之外,atexit注册的函数,用C语言写不久变成无定义的行为了么?!

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
62 [报告]
发表于 2010-07-01 09:33 |只看该作者
本帖最后由 群雄逐鹿中原 于 2010-07-01 09:36 编辑
回复  群雄逐鹿中原


   

    一条一条看好了
    “显然”之后,“不可能”,再“无稽之谈”
  ...
pmerofc 发表于 2010-07-01 09:32


对啊,怎么不能用排除法?除了标准之外,我们还有大脑。
我喜欢排除+反证,这是解bug的法宝。

我在59楼的推理,事实上有个bug的,用某个概念A排除了某个概念B。
至于A和B是不是同一回事,要看你说的C能不能管到main之外的C表示什么意思? 语法还是实现?

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
63 [报告]
发表于 2010-07-01 09:35 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
64 [报告]
发表于 2010-07-01 09:41 |只看该作者
我那个“之外”是指时间范围
    atexit注册的函数,调用的时候main结束了么
pmerofc 发表于 2010-07-01 09:35


晕死,你不会认为只有exit函数才会引起atexit调用,直接从main return就不行?

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
65 [报告]
发表于 2010-07-01 09:43 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
66 [报告]
发表于 2010-07-01 09:47 |只看该作者
return 0和exit(0)两个不同的概念,怎么会等价?!
main中return 0和其他函数return 0做的事情没有两样。

只是在main中,做不一样的事情,最终程序表现出来同样的结果而已。

你偏差的太不靠谱了。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
67 [报告]
发表于 2010-07-01 09:57 |只看该作者
我的前提是main()中的return 0;和exit(0);等价
    如果你认为不是这样麻烦描述一下return 0;的 ...
pmerofc 发表于 2010-07-01 09:43


突然想到pmerofc如果想明白了为什么 “main()中的return 0;和exit(0);等价",
就不需要和我这样争论了。
揣度别人的思路也很有意思。

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
68 [报告]
发表于 2010-07-01 10:19 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
69 [报告]
发表于 2010-07-01 10:33 |只看该作者
我注意到40楼的第二段引用中有个“equivalent ”,敢问这个词应该如何翻译
pmerofc 发表于 2010-07-01 10:19


用代码来翻译吧。声明这全是我凭空想的,没法提供什么文件证明。

  1. void program_entry_point()
  2. {
  3.      ....
  4.      int rt = main();
  5.      exit(rt);
  6. }

  7. int main()
  8. {
  9.      ....
  10.      //return 0;
  11.      //exit(0);
  12.      //效果有区别吗?
  13. }
复制代码

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
70 [报告]
发表于 2010-07-01 11:48 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP