gpt4 book ai didi

c++ - 有没有办法使用 __declspec(align) 来声明不同类型的对象

转载 作者:行者123 更新时间:2023-11-28 05:09:56 24 4
gpt4 key购买 nike

有没有办法使用 __declspec(align) 在 Visual Studio 中声明大量对象?诸如此类:

__declspec(align)
{
int p1;
long p2
}

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

最佳答案

不,您不能应用单个 __declspec(align)像这样的一组不相关的声明。每个单独的声明符语句都需要自己的 __declspec:

Syntax

__declspec( align( # ) ) declarator  

您可能正在寻找 #pragma pack相反:

Syntax

#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;
*/

关于c++ - 有没有办法使用 __declspec(align) 来声明不同类型的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43727047/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com