1.C風(fēng)格的鏈接方式
比如:
#define GAPI G_DLL_API
#define G_FUNC(ret) extern "C" GAPI ret
編譯函數(shù):
G_FUNC(Vector3) GetRandVec3();
對(duì)于msvc系列編譯器是不允許的
對(duì)于mingw系列是被允許的咯
2.對(duì)模板支持的差別
對(duì)沒有實(shí)際調(diào)用的模板類成員函數(shù)存在的問題處理方式的差異
msvc可以給出編譯錯(cuò)誤
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_;
};
實(shí)例化為
Vec2<int> v2;
3.對(duì)靜態(tài)浮點(diǎn)類型成員變量處理的差異
msvc不允許靜態(tài)浮點(diǎn)類型的成員變量
比如
struct Math
{
static const float PI = 3.14.15925f;
};
mingw是允許的