腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
3
回答
跨
编译器
的
C
结构
对齐
和
可移植性
、
、
导出
的
函数接受指向此标头中定义
的
自定义
结构
的
指针: char
c
; int i;如果共享库是使用一个
编译器
构建
的
,然后在使用另一个
编译器
构建
的
C
代码中使用,那么它可能会因为不同
的
内存
对齐
而无法工作,正如所建议
浏览 0
提问于2012-04-24
得票数 11
回答已采纳
4
回答
要数组
的
pod
结构
的
memcpy数组
struct Point double X;};Point point = { 1.1, 2.2 };memcpy(arr, point, sizeof(double)*2);Point *pPoints = new Point[numPoints];编辑:我并不是针对每个可能
的
结构
/类都问这些问题;我是针对这个特殊
的
<e
浏览 1
提问于2013-07-01
得票数 2
1
回答
我可以查询
编译器
对
C
++0x "alignas“
的
支持吗?
、
、
、
我正在编写一些可以从16字节
对齐
中受益
的
类
和
结构
。为了将来
的
可移植性
,我宁愿使用新
的
C
++0x alignas功能,而不是使用特定于
编译器
的
hack。但是,在适当
的
#ifdef或#ifndef保护之外使用它显然会在没有alignas支持
的
编译器
上导致错误。 我快速搜索了一下类似的问题,得到了一个推荐Boost.Config
的
答案。不幸
的<
浏览 0
提问于2011-08-24
得票数 1
回答已采纳
2
回答
填充
结构
(
C
++)
、
、
、
我在
C
++中有一个18字节
的
结构
。我想直接从一个文件中读取18字节
的
数据到这个
结构
中。但是,我
的
C
++
编译器
将
结构
修改为20字节(4字节
对齐
)。这对于我
的
编译器
来说是相对容易
的
,但是我更喜欢使用一种更可靠
的
跨
平台/
跨
编译器
的
方法。这是一个
结构
: s
浏览 8
提问于2022-10-30
得票数 1
回答已采纳
2
回答
短路求值在
C
++中能像Java一样被保证吗?
、
= null && a.fun());在
C
++中,我可以做同样
的
事情吗?它们能保证
跨
不同平台
和
编译器
的
可移植性
吗? if (a !
浏览 1
提问于2010-01-21
得票数 28
回答已采纳
1
回答
对__alignof__
的
最早支持是在GCC
、
、
我需要一种可移植
的
方法来确定
结构
的
对齐
要求,其中
可移植性
包括遗留版本
的
GCC。项目的一部分被困在嵌入式平台上,只支持
C
++11之前
的
标准,最早是GCC v.3.6。有一个非ISO
的
__alignof__ (宏?函数?)模拟
的
C
++11运算符alignof,我可以用,但是最早
的
版本
的
GCC
编译器
会支持它吗?在命名方面是否有其他选择或更改?
浏览 15
提问于2021-10-19
得票数 4
回答已采纳
1
回答
关于
结构
的
边界问题
我想知道关于
结构
尺寸分配
的
边界问题是什么?任何关键字
的
相同,我可以谷歌将是有帮助
的
。
浏览 0
提问于2011-06-17
得票数 1
回答已采纳
2
回答
测试
C
/
C
++
可移植性
的
处理器体系
结构
、
、
、
目前,我正在开发一个
C
/
C
++代码库,它是可移植
的
,它可以在大多数类似Unix
的
系统以及MSVC (MSVC)上编译,使用各种流行
的
编译器
。除了在大端系统上进行测试(为了发现大端/小端
的
明显错误)之外,是否有一些具有更好特性
的
体系
结构
使其具有更好
的
压力测试软件
可移植性
?不同
的
endian。 线程处理时
的
浏览 0
提问于2014-08-03
得票数 6
2
回答
hash_map有多普遍?
、
、
hash_map
和
hash_set头还没有包含在
C
++标准中,但是它们可以作为扩展与我最近使用
的
所有
编译器
一起使用。 CrayXT系
浏览 3
提问于2009-03-03
得票数 4
回答已采纳
5
回答
与
对齐
相关
的
问题
、
在函数
的
局部作用域中声明时,将相同类型
的
所有变量组合在一起是一种好
的
做法吗?若有,原因为何?它能解决内存
对齐
问题吗?
浏览 1
提问于2010-02-16
得票数 2
回答已采纳
3
回答
结构
对齐
问题
、
、
、
我
的
编译器
要求我有一个内存
对齐
的
结构
声明,以确保正确
的
数据访问。我有一个顶部
结构
,它由一些其他
结构
组成。是否足以确保顶部
结构
与32字节边界
对齐
,或者需要确保每个
结构
应与32字节边界
对齐
。代码片段如下: int p; char n; int
c
;
浏览 4
提问于2012-07-18
得票数 2
回答已采纳
3
回答
32位/64位系统上
的
二进制文件?
、
、
我正在使用python
结构
模块创建自定义二进制文件。) 1 byte (无符号字符) 4 bytes (浮点数)4 bytes (整数) 1 byte (无符号字符) 4 bytes (浮点数) 我能使用两台{32bit / 64bit}机器读写相同
的
文件吗?还是我应该期待兼容性问题? (我将同时使用Ubuntu )
浏览 2
提问于2011-06-05
得票数 3
回答已采纳
1
回答
二进制文件处理-对
结构
中
的
某个字段执行fseek()
、
、
、
、
struct good) + sizeof(article.ID) + sizeof(article.name), SEEK_SET);更清晰
的
代码示例:short int ID;int quantity = 0;}; s
浏览 2
提问于2014-06-06
得票数 0
2
回答
对齐
属性与打包属性
、
、
、
、
我正在开发16位PIC
的
固件,并用
C
(Microchip
C
30
编译器
)编写。我
的
设备从外部设备接收一个很长
的
字节列表,然后我尝试将这些字节复制到一个
结构
中。我可以通过简单地向
结构
中添加一个额外
的
字节来修复这个问题,但这看起来像是一个创可贴修复。 我将packed属性放在
结构
上,因为我想确保
编译器
不会在我
的
变量之间插入任何填充字节。如果发生这种情况,当从接收到
的
浏览 0
提问于2011-08-11
得票数 3
3
回答
GNU中
的
__attribute__
、
、
为什么以及如何在GNU程序中使用__attribute__?
浏览 1
提问于2009-09-22
得票数 77
2
回答
gcc/g++中
结构
的当前数据
对齐
设置是否可以检测
和
更改?
、
、
、
、
我
的
问题是以
的
一部分为基础
的
,问题(强调我
的
问题): “重要注意:
C
和
C
++标准都规定
结构
对齐
是由实现定义
的
。因此,每个
编译器
可能会选择不同
的
数据
对齐
方式,从而导致不同
和
不兼容
的
数据布局。因此,在处理将由不同
编译器
使用
的
库时,重要
的
是要了解
编译器
是如何<em
浏览 5
提问于2020-02-20
得票数 0
回答已采纳
2
回答
如何正确访问打包
结构
成员
、
、
、
访问打包
结构
成员
的
正确方法是什么?something with x g(&m.i); int x = m.i;}在foo
和
bar之间
的
,一种方法比另一种方法好吗?访问错
对
浏览 8
提问于2022-02-04
得票数 2
回答已采纳
3
回答
为什么
编译器
将填充添加到已经
对齐
4字节
的
结构
中?
、
我有以下
结构
,其中所有数据成员
的
大小之和为76字节:{ uint8当我将预处理器设置为使用“#杂注包(1)”选项并执行一个sizeof()时,它将返回76个字节,表明
编译器
正在添加填充。我打印出了
结构
中每个数据成员
的
地址,并且所有的东西都按顺序排列在内存中,没有“漏洞”。我还在
结构
之前添加了一个32位整数
的
初始化,
浏览 0
提问于2017-08-02
得票数 3
回答已采纳
1
回答
Vulkan
和
结构
构件
对齐
、
、
、
查看像这样
的
页面就会发现,常见
的
、知名
的
编译器
在x86上遵循某些规则:
结构
的
每个成员
的
类型通常都有一个默认
的
对齐
方式,这意味着,除非程序员另有要求,它将在预先确定
的
边界上
对齐
。在编译32位
C
++时,下列典型
的
对齐
方式适用于来自微软(Visual X86)、Borland/CodeGear (
C
++Builder)、
浏览 2
提问于2020-05-18
得票数 1
回答已采纳
3
回答
在不同
编译器
上使用显式宽度成员
对齐
结构
、
、
、
、
我想知道,如果
结构
是手动填充
的
,因此每个成员都
对齐
了其大小
的
地址倍数,并且所有对象都具有已知
的
显式宽度,那么我能在多大程度上期望二进制布局恰好是“预期
的
”/intended布局呢?也许有一些
编译器
特定
的
选项来确保布局将与声明
的
完全相同? IIRC
C
标准不允许任何重新排序,因此只有最终额外
的
填充是有疑问
的
。如果
结构
是根据自己
的
对
浏览 4
提问于2014-03-10
得票数 3
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
C/C+编程笔记:C语言结构和C+结构之间的区别,又学到了吗?
你了解c+语句的种类和结构吗?
跨越平台的力量:C+跨平台编程的终极指南!
如何在ARM下进行高效的C编程?
HTML5文件的基本结构和W3C标准
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
腾讯会议
活动推荐
运营活动
广告
关闭
领券