发新帖我要提问
123
返回列表
打印

顶山**!顶鹰!我用技术贴来结贴吧

[复制链接]
楼主: 冷漠
手机看帖
扫描二维码
随时随地手机跟帖
41
highgear| | 2009-6-23 21:00 | 只看该作者 回帖奖励 |倒序浏览

顶山**!顶鹰!我用技术贴来结贴吧


1)这是讨论串口发送,一个通用的串口发送程序不应该有所限制,很多时候,0 也是通讯协议的一部分,即使发送的是字符串,例如同# $ * 0x0A, 0x0D 一样作为协议结束标志。

2)判断"\0"作为字符串的结尾,便利但危险。我前面已经说的很清楚了。如果是概念清楚的高手,这么做无可厚非,而菜鸟这么做则不妥。最简strcpy的讨论,现在看来,实际应用中的隐患极大,一般程序员不建议使用。很多著名的程序漏洞多是由判断"\0"引起,如使用极广的 ftp Server: ServerU. 原贴主enjoy21cn 的程序是另一个极好的例子。

3)sizeof 不用多说了。我说过,要强迫程序员关注数组长度,以避免不必要的溢出。要学会使用 sizeof, 即使你定义的是 char A[3]。在冷漠以前要求的程序中,我已经给冷漠指出过。冷漠原贴为 i < 15: 

  for (i = 0; i < sizeof(table); i++)   //记住:永远不要直接使用数组长度!!!!!
  {
     P1 = ~table


  

使用特权

评论回复
42
渤海三叠浪| | 2009-6-24 08:14 | 只看该作者

学习嘛

 就不要关心程序的对错了  关键是方法 如何少犯错 

sizeof是要多多用的    程序里面直接写字符串长度是很糊涂的做法

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则