2012/5/12 Lu Yiguang <lorenzo.d...@gmail.com>:
C 语言和汇编一样不会再流行,但是总是不可或缺。
C 语言的优势在于“精细控制”,尤其和底层硬件打交道的时候,这是其他语言无法比拟的。
--
Thanx & Regards,
小溪同学
使用C语言编程时需遵守但不限于以下要求:
a) 注意区分 == 和 =,与常数比较时使用 “数值 == 变量”的形式;
b) 尽可能减少使用指针数据类型,使用前必须检查其是否在合理范围;
c) 尽可能减少使用全局变量作为模块间通讯手段;
d) 不可随意安排return语句;
e) 检查函数的返回值;
f) 头文件中不允许包含对象或函数的定义。
g) 访问数组前必须检查下标范围;
h) if 语句后的语句块,循环语句的循环体,必须有花括号包围;
i) ++或--运算符不得和其他运算符混合使用;
j) 逻辑运算符&&或||的右操作数不得带有副作用,所谓带有副作用,就是指执行某条语句时会改变运行环境,如执行 x=i++之后,i 的值会发生变化;
k) 慎用基于动态内存分配的算法;
l) 只允许用数组索引做指针运算;
m) 表达式的值必须在任何求值顺序下保持一致,使用括号保证运算顺序;
n) 不得使用逗号表达式;
o) 所有非空的 switch 子句都应该以 break 语句结束;
p) switch 的最后一个子句必须是 default 子句。如果 default 中没有包含任何语句, 那么应该有注释来说明为什么没有进行任何操作;
q) 不允许使用 goto 语句和continue 语句;
r) 循环体中最多只能出现一个 break 语句用于结束循环;
s) 函数只能有一个出口,这个出口必须在函数末尾;
t) 函数不得调用本身,无论是直接的调用,还是间接的调用。
好多都是错的,至少我看来是这样....
cl不存在 == 和 = 混用的问题,cl里面,赋值是setf,判断相等是=.
b) 尽可能减少使用指针数据类型,使用前必须检查其是否在合理范围;
cl没有指针数据类型,使用前,编译器都会帮你判断是否在合理范围.
c) 尽可能减少使用全局变量作为模块间通讯手段;
cl算是函数编程语言,本身就不鼓励使用全局变量。
g) 访问数组前必须检查下标范围;
cl的编译器会帮你检查
i) ++或--运算符不得和其他运算符混合使用;
cl好像没有 后自增的,只有前自增,虽然可以自己写个宏出来,实现后自增功能。
m) 表达式的值必须在任何求值顺序下保持一致,使用括号保证运算顺序;
如果一个cl的表达式是这样自的(a b c d)那么作为参数的b c d,计算顺序一定是先b,再c,最后d.
o) 所有非空的 switch 子句都应该以 break 语句结束;
cl的switch都自带了break;当然可以自己写个宏来实现像c一样的switch.
C语言一个很大的优势就是比其他语言更接近机器语言
--
() ASCII Ribbon Campaign
/\ Keep it simple!
2012/5/13 姚 飞 <yaof...@gmail.com>:
2012/5/13 ybzhao <ybzha...@gmail.com>:
> 它能达到接近汇编的性能吗?
--
GuruDigger- We help internet products find technical partners who
share the same dream!
但是大家多是假装没事,
UBUNTU的人手也不一定那么多吧,改写现有的代码。。。
特别是当ARM eabi规范改动了的时候。。。
2012/5/13 david pu <pulq...@gmail.com>:
ubuntu的人想的是,要最大兼容性,不要影响别人
我说的没错吧?
其实我想的是,多快好省,快点出工,快点赚钱
在 2012年5月13日 下午10:26,姚 飞 <yaof...@gmail.com> 写道:
你不能说人家这个风格有多好,人家跟你说我一个机器4秒钟进OPENGL界面,你咋说?
这种玩意多是瘌痢头儿子,一百样才是自噶的好
2012/5/14 liyaoshi <liya...@gmail.com>:
连COBOL都还没淘汰点,C还早了
在 2012年5月14日 下午12:52,Xunzhen Quan <quanx...@gmail.com>写道:
这里说的是C不是C++呢
在 2012年5月18日 上午12:25,姚 飞 <yaof...@gmail.com> 写道: