- 主题:最近遇到C 的两个坑
1 if (a & b == 0) ,似乎是C 的遗留问题,古老的B/C 语言操作符&和&& 是同一个,优先级都很低(低于比较符),后来& 分离出来作为位操作符号,继承了它们较低的优先级。
2 一个库函数没有声明function prototype,在app.执行该函数时,返回值64 位截断为32 位,导致程序间歇性故障。
结论是长时间没写C,习惯还不好。
--
FROM 171.82.159.*
没改进建议?静态检查,编译告警都没检查吗?编码规范没有明确吗?
【 在 lambdago 的大作中提到: 】
:
: 1 if (a & b == 0) ,似乎是C 的遗留问题,古老的B/C 语言操作符&和&& 是同一个,优先级都很低(低于比较符),后来& 分离出来作为位操作符号,继承了它们较低的优先级。
:
: 2 一个库函数没有声明function prototype,在app.执行该函数时,返回值64 位截断为32 位,导致程序间歇性故障。
:
: 结论是长时间没写C,习惯还不好。
: --
:
发自「今日水木 on SPN-AL00」
--
FROM 49.90.47.*
肯定是有warn的,但没有管。
建议还是要遵循编码规范,修复所有warning
【 在 fyzjsmth 的大作中提到: 】
: 没改进建议?静态检查,编译告警都没检查吗?编码规范没有明确吗?
: 发自「今日水木 on SPN-AL00」
--
FROM 119.103.21.*
函数没有前置声明,这个习惯很不好
【 在 lambdago (foool) 的大作中提到: 】
: 1 if (a & b == 0) ,似乎是C 的遗留问题,古老的B/C 语言操作符&和&& 是同一个,优先级都很低(低于比较符),后来& 分离出来作为位操作符号,继承了它们较低的优先级。
: 2 一个库函数没有声明function prototype,在app.执行该函数时,返回值64 位截断为32 位,导致程序间歇性故障。
: 结论是长时间没写C,习惯还不好。
: ...................
--
FROM 114.253.33.*
是的,
但有时候跳到开头写声明,再跳回来写内容,page down难找,还打断思路了。
【 在 roy 的大作中提到: 】
: 函数没有前置声明,这个习惯很不好
:
--
FROM 182.97.151.*
【 在 lambdago 的大作中提到: 】
: 1 if (a & b == 0) ,似乎是C 的遗留问题,古老的B/C 语言操作符&和&& 是同一个,优先级都很低(低于比较符),后来& 分离出来作为位操作符号,继承了它们较低的优先级。
: 2 一个库函数没有声明function prototype,在app.执行该函数时,返回值64 位截断为32 位,导致程序间歇性故障。
: 结论是长时间没写C,习惯还不好。
这都是你的错。
--
FROM 221.221.51.*
全是代码书写不规范
--
FROM 124.126.165.*
第一个坑踩过
【 在 lambdago 的大作中提到: 】
:
: 1 if (a & b == 0) ,似乎是C 的遗留问题,古老的B/C 语言操作符&和&& 是同一个,优先级都很低(低于比较符),后来& 分离出来作为位操作符号,继承了它们较低的优先级。
:
: 2 一个库函数没有声明function prototype,在app.执行该函数时,返回值64 位截断为32 位,导致程序间歇性故障。
:
#发自zSMTH@Note8Pro暖手宝
--
FROM 39.149.91.*
即使你的IDE没有定位符号功能,也应该有查找功能啊……
【 在 lambdago (foool) 的大作中提到: 】
: 是的,
: 但有时候跳到开头写声明,再跳回来写内容,page down难找,还打断思路了。
--
FROM 114.253.33.*
不设计直接coding就是这么混乱
【 在 lambdago 的大作中提到: 】
: 是的,
: 但有时候跳到开头写声明,再跳回来写内容,page down难找,还打断思路了。
:
: ...................
--
FROM 111.199.184.*