腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
64位计算机上的
结构
对齐
、
、
我在64位
Linux
机器上有以下
结构
。volatile unsigned int slock;现在,我想了解一下在遵循LP64标准的64位__wait_queue_head计算机上
结构
__wait_queue_head的
对齐
情况。据我所知,从这个
结构
体
的第一个字段开始。是一个无符号整数,它在64位机器上占用4个字节,这个
结构
应该从一个4字节
对齐
的地址开始。相反,
结构</
浏览 8
提问于2012-04-12
得票数 3
回答已采纳
1
回答
并行编程中的READ_ONCE和WRITE_ONCE
、
、
、
、
一书中,作者使用了几个
宏
,我不明白它们到底做了什么。(x); ___x; }) do { ACCESS_ONCE(x) = (val); } while (0)在下面的一些
宏
中,我也不明白这些
宏
的一些用法。首先,我们如何使用这些
宏
同时访问内存?AFAIK易失性关键字对于并发内存访问是不安全的。 在第1项中,如何使用READ_ONCE和WR
浏览 0
提问于2021-09-05
得票数 6
回答已采纳
1
回答
对象的哪种类型总是可以在页面边界上分配?
、
在
Linux
上,我想知道在页面边界上,某些对象类型是否总是可以分配的。对于哪种
C
类型,这总是有保证的吗?请向我指出以下答案的标准/文件。
浏览 6
提问于2022-12-01
得票数 0
2
回答
预处理
宏
解释?
、
、
、
我的老师让我们在
C
中使用以下预处理器
宏
来实现链接队列。其思想是,让队列不包含任何数据,从而使队列具有通用性,然后在其他地方有一个包装器
结构
,它保存队列中的节点以及属于它的数据块。下面的
宏
接收来自队列(即节点)的节点、包装器
结构
的类型(即struct包装器)和包装器的队列节点元素的名称(即qnode (包装器有一个名为qnode的元素)。 然后,
宏
返回节点传入的
结构
包装器。
浏览 2
提问于2012-12-02
得票数 0
回答已采纳
4
回答
双重
对齐
、
、
、
在的讨论之后,我了解到
结构
成员
对齐
的主要原因是性能(以及一些架构限制)。如果我们在编译32位x86时调查微软(Visual
C
++)、Borland/CodeGear (
C
++-Builder)、数字Mars (DMC)和GNU (GCC):int的
对齐
是4个字节,如果int不
对齐
,可能会读取2行内存块。我的问题是,为什么不让double也是4字节
对齐
的呢?4字节
对齐
的double也会导致2行存储
体
读取...例如,在下面的示
浏览 2
提问于2012-06-20
得票数 9
回答已采纳
1
回答
pthread_mutex_t
结构
:锁代表什么?
、
、
、
、
我正在查看p线程类型.h文件中的pthread_mutex_t
结构
。"__lock“代表什么?它像分配给互斥
体
的锁号吗?
浏览 4
提问于2014-05-03
得票数 4
回答已采纳
2
回答
C
结构
中的松弛字节
、
我知道单词边界的概念,计算机使用单词边界来存储
结构
。我正在使用64位CPU和64位操作系统。__WORDSIZE
宏
在limits.h中的值为64。所以我的单词边界是8个字节,对吗?我有两个
结构
:{char b;};char a;char
c
;};这些输出表明字边界是4
浏览 0
提问于2011-09-05
得票数 4
回答已采纳
1
回答
为什么gcc不能把一个
结构
的
对齐
度降低到比它的一个单独的字段小
、
、
、
我有一个
结构
定义employee,它实例化monica。bytes正如你所看到的,我强迫
结构
的
对齐
是2,但是gcc没有将
结构
的
对齐
设置为2,也没有抛出错误。我尝试使用alignof
宏
(包括<stdalign.h>)打印
对齐
结构
,该
宏
返回4作为
结构
的
对齐
方式。为什么gcc不能将
结构
的
对齐
设置为小于其某一字段的最大
对齐</em
浏览 1
提问于2021-12-27
得票数 1
回答已采纳
1
回答
新操作符的
C
++
对齐
,有多重要?
、
据我理解,64位
linux
系统上的指针大小为8字节,
对齐
的要求应该是8字节
对齐
。如果是这样,那么为什么新运算符返回16字节(可能是32,但这个数字大于8)
对齐
指针又有什么关系呢?*
c
1 = new SimpleChar; 是否有任何副作用使用布局新和
对齐
每个
结构
和指针8字节?(我可以想到的一个副作用是,这种方法可能会使用
浏览 1
提问于2018-02-07
得票数 2
2
回答
如何编写生成列表项的
宏
我有一个
结构
体
的列表,这个
结构
体
有一个定义它的类型的字段(假设它的名字)。我希望有一个
宏
,如下所示:有没有可能在没有“按计算”
宏
的情况下做到这一点?
浏览 2
提问于2014-07-22
得票数 0
2
回答
libjpeg中的指针
对齐
方式
、
、
、
、
来自#define PACK_NEED_ALIGNMENT(ptr) (((int)(ptr))&3) ((INT16*)(addr))[0] = (pixels); \ } while(0) #define WRITE_TWO_ALI
浏览 1
提问于2010-09-24
得票数 1
回答已采纳
2
回答
如何在gcc编译时识别x86与x86_64?
、
、
我只想在x86和x86_64
linux
上编译我的部分代码,而不是s390
linux
或其他。如何使用
C
中的
宏
定义来实现?我知道
linux
是用来决定
linux
操作系统的,386、486和586是用来决定CPU体系
结构
的。是否有一个简单的
宏
定义来确定x86
linux
和x86_64
linux
?谢谢
浏览 6
提问于2015-05-09
得票数 8
3
回答
枚举
C
中的
结构
字段
、
、
、
、
我在
C
中有几个
结构
体
,我想编写以下三个函数:get_value_by_name(...)我在写
结构
体
。如果需要的话,我愿意使用任何
宏
魔法。如果我在每个
结构
中都有一个三重奏函数,这是可以的,但是泛型
结构
更好。函数指针也很好。 基本上我想要一些基本的
结构</
浏览 4
提问于2015-10-18
得票数 7
回答已采纳
2
回答
结构
在…之前有一个联盟意味着什么?
正如您在PointHVDIR
结构
中所看到的,它以一个EIGEN_ALIGN16结尾。
浏览 10
提问于2020-02-02
得票数 0
回答已采纳
1
回答
可以在另一个操作系统上运行为一个操作系统构建的可执行文件吗?
、
、
、
、
我知道“葡萄酒”/“亲爱的”和其他兼容性层,但我想知道这样做是否可能(例如): int main(void) {
浏览 4
提问于2015-11-20
得票数 1
回答已采纳
1
回答
用于单个成员
结构
的
结构
填充
、
、
我正在寻找一个
结构
,它是任意大小的,在编译时就知道了。(用于
宏
)。所以我的问题是: 我是否可以依赖于单个成员
结构
总是与其成员大小相同?这是
C
规范的一部分吗?还是大多数编译器的行为方式?
浏览 3
提问于2015-03-22
得票数 4
1
回答
结构
的大小和_Alignof值
、
、
在标准
C
中,下列哪一项是正确的?,它的最后一个成员的相对地址加上sizeof ,它的最后一个成员。(我知道这不是真的。)见32位Windows GCC中的long double:sizeof是12,_Alignof是4)还有别的东西 通过相对地址,我指的是其最后一个成员的起始字节与其第一个成员的起始字节(或
结构<
浏览 7
提问于2021-01-22
得票数 1
回答已采纳
2
回答
VS2005如何强制所有指针访问都不
对齐
?
、
、
、
在复制的
C
/
C
++文件中,我有一些处理数据
结构
的代码,这些数据
结构
是在运行时创建和销毁的,大小和地址
对齐
完全取决于在创建每个数据
结构
时进入数据
结构
的数据量。我不想使用任何打包/填充来使地址
对齐
正确,但希望使用任何允许对数据
结构
进行非
对齐
访问的编译器选项。目前,我一直使用__unaligned类型修饰符来表示数据
结构
指针(来自Windef.h的UNALIGNED
宏
浏览 0
提问于2012-07-03
得票数 2
1
回答
用
C
宏
填充
结构
、
我正在尝试通过#pragma pack实现_Pragma оperator指令,以创建用于数据
结构
对齐
的
宏
。所有这一切都在书"
C
:简单地说“中作了描述。struct s size_t l_num; char ch;我期望的结果是,在x64位平台中,我的
结构
大小等于7字节、(字节
对齐
)或11字节。这个
宏
有什么问题吗? 为什么会发生这种情况?
浏览 2
提问于2013-07-12
得票数 0
回答已采纳
1
回答
linux
内核中不同类型的非
对齐
访问
、
、
Linux
为非
对齐
访问提供了两种类型的
宏
:byteshift和memmoves。asm-泛型的,它似乎是非
对齐
访问的最一般的实现,总是只包括byteshift:尽管我简单的基准测试表明,memmove通常更有效一些。我也找不到在
linux
内核中使用未
对齐
内存迁移的任何实际示例。有比记忆更有效的平台吗? 为什么没有使用memcpy而不是memmove的实现?
浏览 1
提问于2018-09-14
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
热门
标签
更多标签
云服务器
ICP备案
对象存储
云直播
腾讯会议
活动推荐
运营活动
广告
关闭
领券