C++ Windows移植到 linux

C++ Windows移植到 linux 笔记

 

1. float,double混合运算,都换成double运算吧。

同样的计算式

float tmpDetaAzimuth = 5400.0000f *(-2.6000001f) / 60.000000f;

liunux下:

windwos下:

第六位差5

2. 取绝对值函数abs,linux下没重载double。

Linux:

Windows

原本double的地方,小数全没了,影响不是一星半点。

 

3. STL中的sort,因为是不稳定排序,排序比较字段相等情况下,不保证原有顺序,也是造成跨平台不一致的原因

排序前(按第三列数字大小排序)

排序后

Linux下6162行顺序变化了。

Window下则不会。

                因此,得用稳定排序,std::stable_sort();

 

4.随机数。

 

上面代码windows,linux生成时不一样的。

 推荐用boost库替代。

(ps: 加锁防止多线程二义性)  

 

。。。tobe continue

你可能感兴趣的:(C++ Windows移植到 linux)