我有一个很大的问题,即将代码调整到C ++ Builder中。
C ++ Builder中__declspec(align(n))的等价物是什么?我不是指#pragma pack ([show] | [push | pop] [, identifier], n)
。我需要宏观的东西。
我在采用以下代码时遇到问题(特别是对于__declspec(align(n))
):
#elif defined(_MSC_VER)
#define LJ_NORET __declspec(noreturn)
#define LJ_ALIGN(n) __declspec(align(n))
#define LJ_INLINE __inline
#define LJ_AINLINE __forceinline
#define LJ_NOINLINE __declspec(noinline)
#if defined(_M_IX86)
#define LJ_FASTCALL __fastcall
#endif
static LJ_AINLINE uint32_t lj_ffs(uint32_t x)
{
uint32_t r; _BitScanForward(&r, x); return r;
}
static LJ_AINLINE uint32_t lj_fls(uint32_t x)
{
uint32_t r; _BitScanReverse(&r, x); return r;
}
#define lj_bswap(x) (_byteswap_ulong((x)))
#else
答案 0 :(得分:1)
[[align]]属性尚未在C ++ Builder中实现。我不确定它在C ++ 0x支持的优先级列表中的位置。