【问题标题】:Is there a way to use __declspec(align) for for declaring of objects with different type有没有办法使用 __declspec(align) 来声明具有不同类型的对象
【发布时间】:2017-09-29 08:05:48
【问题描述】:

有没有办法使用 __declspec(align) 在 Visual Studio 中声明大量对象?某样东西:

__declspec(align)
{
int p1;
long p2
}

我的问题类似于__declspec(align) for multiple declarations。但是这个问题是针对具有相同类型的对象的。

【问题讨论】:

  • @RemyLebeau:请在答案部分写下。谢谢。

标签: c++ visual-studio declspec


【解决方案1】:

不,您不能将单个__declspec(align) 应用于这样的不相关声明块。每个单独的声明器语句都需要自己的__declspec

语法

__declspec( align( # ) ) declarator  

您可能正在寻找#pragma pack

语法

#pragma pack( [ show ] | [ push | pop ] [, identifier ] , n  )  

例如:

#pragma pack(push, 4)
int p1;
long p2
#pragma pack(pop)

#pragma pack(push, 16)
float rF[4];
float gF[4];
float bF[4];
#pragma pack(pop)

/*
Alternatively:

#pragma pack(push, 16)
typedef float floatArray4[4];
#pragma pack(pop)

floatArray4 rF;
floatArray4 gF;
floatArray4 bF;
*/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-21
    • 2023-03-20
    • 2021-02-23
    • 2020-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    相关资源
    最近更新 更多