免费注册 查看新帖 |

Chinaunix

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

[C] 谭浩强的书我就不说什么了,居然教学生include一个.c文件 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2009-10-28 21:04 |显示全部楼层
原帖由 albcamus 于 2009-10-27 15:59 发表


请论证一下A20的合理性, 你能论证出来, 我就承认#include c的合理性。


这把我支持一下村长!特殊合理的场合也不排除#include .c 的。

举个实际的例子:

曾经拿到一个古老的图像解码的C代码, 函数接口也算清楚,
但是当我们的程序实际整合这段代码时,遇到了不少的困难,
纠结的地方在于 “全局变量” 很多,
多线程中根本没法用。

解决的办法就是用一个类来#include .c了,
.c文件中除了将头文件移除外,其他代码几乎不需要改动。全局变量的问题很快解决。
丑是丑了点,除了#include .c还真想不到什么更利于维护的办法。

decoder.cpp

struct decoder
{
#include "a.c"
#include "b.c"
#include "c.c"
#include "d.c"
};

论坛徽章:
0
2 [报告]
发表于 2009-10-28 23:59 |显示全部楼层
原帖由 prolj 于 2009-10-27 09:09 发表
村长的手段真特别,我用另一种手段,函数声明用XML描述


这个手段真变态。
不过总有一天会吃这个混乱的亏的,凡是企图统一更多接口的企图,最后都不过增加一种新的接口。

论坛徽章:
0
3 [报告]
发表于 2009-10-29 10:30 |显示全部楼层
原帖由 ThinkMachine 于 2009-10-29 09:52 发表
有时还是有include .c文件的需求的。大家可以看看著名的webkit的代码,里面有一个JavaScriptCore模块,它就有一个文件:AllInOneFile.cpp,里面把很多cpp文件全include了。
/*
*  Copyright (C) 2006, 2008  ...


我约摸了一下,对#include .c绝对排斥的有几类:

1. 过分追求完美的
2. 教师
3. 项目经验太少,只弄过几个sample之类的
4. 对可维护性视而不见的
5. 觉的只有 include *.h 才算正统

论坛徽章:
0
4 [报告]
发表于 2009-10-29 11:19 |显示全部楼层
原帖由 albcamus 于 2009-10-29 11:13 发表


嗯,那你就使劲include c好了。 C语法同时还支持函数内任意goto,你也多用好了。--- C语法允许的事情很多, 你很自由的。

PS,你知道给辩论对方 总结一个心理上的原因, 让我想到什么了吗?


无非就是找一个故事再次总结一下对方,呵呵~~

比较反感的就是不分情况 “绝对” 的这个不好那个不好,goto不好,也有适用的地方,你linux玩那么好,当然比我明白

论坛徽章:
0
5 [报告]
发表于 2009-10-30 09:22 |显示全部楼层
原帖由 yzhxhwt 于 2009-10-30 08:29 发表
如果是一个普通程序员写错了,或者说是印刷错了,不会有这样的反响吧,谭浩强也是人唉。。。你们这帮子


谭浩强开始说要教C语言的时候,自己也不会。他的悟性很好是真的。

论坛徽章:
0
6 [报告]
发表于 2009-10-30 10:27 |显示全部楼层
LS的,本來我想表揚你一下的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP