以下是自己在编程过程中一些总结:
1. 尽量使用内部所代替外部锁. 用下面的例子来说明一下:
这样写的 好处: 在合作开发的时候, 我们的程序中又不只有一个共享数据,避免互相等待资源而产生死锁.
坏处: 就是在一个复杂的逻辑处理中可能会频繁操作锁,效率降低.
2. #ifndef ___H #define ___H #endif 和 #pragma once 都是避免重复编译, 一个是在C中就普遍才用的方法,一个是C++中的写法. 基于各个编译器对C++标准的支持不一样, 对C++标准的实现也有些区别. 所以在这个时候我们就采用最稳妥的办法, 使用C的方法,从而避免一些问题.
3. 写代码一定要规范化, 任何变量都有有初始值, 在使用系统API时, 有INIT函数的都要调用一下. 前段时间就是因为没有调用INIT函数, 程序在从不同平台迁移的时候出现崩溃.
4. 在linux下编程好处就是开源,可以查看API的实现.
5. 上面是自己工作过程中一点总结, 有不对或者不妥的地方,欢迎大家指出,一起探讨.
格式怎么成这样了????
1. 尽量使用内部所代替外部锁. 用下面的例子来说明一下:
- Class CDataList
- {
- public:
- CDataList(){}
- ~CDataList(){}
- bool Add()
- {
- CAutoLock lock;
- //添加操作
- }
- bool Update()
- {
- CAutoLock lock;
- //更新操作
- }
- Data GetData()
- {
- CAutoLock lock;
- //将数据拷贝出来在使用
- memcpy(Data);
- }
- };
坏处: 就是在一个复杂的逻辑处理中可能会频繁操作锁,效率降低.
2. #ifndef ___H #define ___H #endif 和 #pragma once 都是避免重复编译, 一个是在C中就普遍才用的方法,一个是C++中的写法. 基于各个编译器对C++标准的支持不一样, 对C++标准的实现也有些区别. 所以在这个时候我们就采用最稳妥的办法, 使用C的方法,从而避免一些问题.
3. 写代码一定要规范化, 任何变量都有有初始值, 在使用系统API时, 有INIT函数的都要调用一下. 前段时间就是因为没有调用INIT函数, 程序在从不同平台迁移的时候出现崩溃.
4. 在linux下编程好处就是开源,可以查看API的实现.
5. 上面是自己工作过程中一点总结, 有不对或者不妥的地方,欢迎大家指出,一起探讨.
格式怎么成这样了????