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是允許的