是否可以使CGO生成跨平台标头?

This is the prologue of the header CGO generated:

#ifndef GO_CGO_PROLOGUE_H
#define GO_CGO_PROLOGUE_H

typedef signed char GoInt8;
typedef unsigned char GoUint8;
typedef short GoInt16;
typedef unsigned short GoUint16;
typedef int GoInt32;
typedef unsigned int GoUint32;
typedef long long GoInt64;
typedef unsigned long long GoUint64;
typedef GoInt64 GoInt;
typedef GoUint64 GoUint;
typedef __SIZE_TYPE__ GoUintptr;
typedef float GoFloat32;
typedef double GoFloat64;
typedef float _Complex GoComplex64;
typedef double _Complex GoComplex128;

Now, trying to compile with MSVC, which has no clue as to what __SIZE_TYPE__ is or _Complex is not going to fly. I could probably come up with an extra header that covers these discrepancies, but I don't know what else does CGO header generator has up its sleeve.