免费注册 查看新帖 |

Chinaunix

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

[C] 我很好奇 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2012-10-26 23:13 |只看该作者
回复 20# hbmhalley


    能行。如果无限递归了,或者替换得不正确,都说明编译器有bug。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
22 [报告]
发表于 2012-10-26 23:23 |只看该作者
本帖最后由 OwnWaterloo 于 2012-10-26 23:25 编辑

回复 21# sonicling

问题是。。。 stdin和stdout是有一些限制的。。。  具体条款我也记不清了。。。
freopen的原因之一就是 stdin = fopen(...) 是不符合标准的是不符合标准的或不可移植的或者。。。 具体说法我也记不清了。。。
总之就只能freopen(..., stdin)。


而具体实现,我记得cl或者mingw的stdin(stdout)就是宏,定义是&_xxx[0]和 &_xxx[1] 。

论坛徽章:
0
23 [报告]
发表于 2012-10-26 23:31 |只看该作者
OwnWaterloo 发表于 2012-10-26 23:23
回复 21# sonicling

而具体实现,我记得cl或者mingw的stdin(stdout)就是宏,定义是&_xxx[0]和 &_xxx[1] 。


的确,这个会引发预处理错误或者警告。不过可以先undef一下。

写这个只不过是为了迎合一下楼主的口味,哈哈

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
24 [报告]
发表于 2012-10-26 23:35 |只看该作者
回复 23# sonicling

楼主蛋疼。。。  见14楼。。。

论坛徽章:
0
25 [报告]
发表于 2012-10-27 01:03 |只看该作者
回复 21# sonicling
  1. $ gcc -xc -E - <<EOF
  2. > #define a b
  3. > #define b a
  4. > int main () {
  5. > int a , b ;
  6. > }
  7. > EOF
  8. # 1 "<stdin>"
  9. # 1 "<built-in>"
  10. # 1 "<command-line>"
  11. # 1 "<stdin>"


  12. int main () {
  13. int a , b ;
  14. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP