1.C风格的链接方式
比如:
#define GAPI G_DLL_API
#define G_FUNC(ret) extern "C" GAPI ret
编译函数:
G_FUNC(Vector3) GetRandVec3();
对于msvc系列编译器是不允许的
对于mingw系列是被允许的咯
2.对模板支持的差别
对没有实际调用的模板类成员函数存在的问题处理方式的差异
msvc可以给出编译错误
mingw不能
举例来说:
template <class T>
struct Vec2
{
Vec2();
Vec2(T x,T y);
Vec2<T> operator+=(const Vec2& v2)
{
return Vec(x+v2.x,y+v2.y_);
}
T x_,y_;
};
实例化为
Vec2<int> v2;
3.对静态浮点类型成员变量处理的差异
msvc不允许静态浮点类型的成员变量
比如
struct Math
{
static const float PI = 3.14.15925f;
};
mingw是允许的