为C ++ Builder调整MSVC ++代码的问题 - __declspec(align(n))

时间:2010-02-21 23:32:12

标签: visual-c++ alignment c++builder

我有一个很大的问题,即将代码调整到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

1 个答案:

答案 0 :(得分:1)

[[align]]属性尚未在C ++ Builder中实现。我不确定它在C ++ 0x支持的优先级列表中的位置。