根据我对msvc系列和mingw编译器的了解
具体差异如下:
1.在编译源文件过程中,2者对涉及的相关头文件有所不同
比如:
#ifdef G_MSVC
#include <GEngine/Template/Vector.hpp>
#endif
这是盖莫引擎中math.hpp包含的头文件
其中有一个函数:
////////////////////////////////////////////////////////
/// 给定差量t(0<=t<=1)获取线性插值点p(0) = p1,p(1) = p2
////////////////////////////////////////////////////////
template<class T>
static Vector3<T> GetPoint(const Vector3<T> &from,const Vector3<T> &to,float t);
在编译的Math的时候MinGW需要先"编译"Vector文件
2.2者在处理函数返回值上的不同
比如:
int GetValue()
{
}
msvc需要显式的给定函数返回值
而mingw不需要(具有默认值)
3.对待函数参数的不同
比如
template<class T>
void Add(T a,T a);
4.基本数据结构类型有所不同
5.在获取原始数据上的区别如下:
const int MAXINT = std::numeric_limits<int>::max;
const double MAXDOUBLE = (std::numeric_limits<double>::max)();
6.其他请大家补充吧