`
mmdev
  • 浏览: 12952834 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

几个Programming Tips

阅读更多

以前遇到的几个问题,趁着还有印象,记录下来,以免无谓的经验流失.

1. 字节序对齐和类型转换

定义数据结构时,小心字节序对齐的问题. 如果在数据结构中定义了一个bool变量,但是在使用时被强制转换成BOOL(int)类型,那么得小心了,bool变量后面定义的变量的数值很可能会被覆盖掉。如果是指针,可能导致应用程序崩溃。

2、对象被释放两次

在多线程程序中,很可能出现A线程中分配的对象被传递给另外一个线程B。在B线程处理完之前,A线程因为响应用户的另外一个操作,而导致该对象被释放并被重新分配。B线程处理完数据后调用callback接口来使用那个原始对象来处理后续事情,这个时候会出现随机性的程序崩溃,很难调试和定位。

3、性能问题

在进行数据过滤时,可以根据实际情况,对过滤器按照业务规则进行分组,然后在组内进行过滤/搜索,可以大大减少无效过滤、比较和搜索的次数。提高整体性能。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics