Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
在 C/C++ 中解析二进制消息流
我正在编写二进制协议 Javad GRIL 协议 的解码器 它由大约一百条消息组成 数据格式如下 struct MsgData uint8 t num float x y z uint8 t elevation 这些字段是 ANSI 编码的
c
Parsing
Binary
memoryalignment
C++ 对齐 new[]
Overview 浏览时运算符 new 运算符 new cppreference com https en cppreference com w cpp memory new operator new 似乎我们有很多选项来分配具有特定对齐要
c
C17
memoryalignment
为什么需要内存对齐? [复制]
这个问题在这里已经有答案了 可能的重复 内存对齐的目的 https stackoverflow com questions 381244 purpose of memory alignment 我在网上读了一些关于内存对齐的文章 可以理解
c
memory
pointers
memoryalignment
.NET Core 中类内部的结构对齐
我试图理解为什么只包含 int 的结构在类中占用 8 个字节的内存 考虑以下代码 static void Main var rand new Random var twoIntStruct new TwoStruct new IntStru
c
NetCore
memory
struct
memoryalignment
MIPS 左加载字 (LWL) 和右加载字 (LWR) 指令的作用是什么?
最近我一直在研究 MIPS 指令集 当时我遇到了两个在其他指令集中没有见过的不寻常指令 我环顾四周 想找到一个关于指令到底做什么的合理解释 但我所能弄清楚的是 它们在某种程度上与未对齐的内存访问有关 例如 维基百科说 https en wi
Assembly
MIPS
memoryalignment
instructions
instructionset
如何检查指针是否指向正确对齐的内存位置?
Given a void 对于某些存储 如何检查它是否指向正确对齐的存储而没有任何实现定义的行为 当然我们有std align http en cppreference com w cpp memory align 但是有更有效的方法吗 t
c
C11
c14
memoryalignment
C17
检测目标 CPU 上的对齐内存要求
我目前正在尝试构建一个可以在多种机器上运行的代码 从手持口袋和传感器到数据中心的大型服务器 这些架构之间的 许多 差异之一是对齐内存访问的要求 标准 x86 CPU 不需要对齐内存访问 但许多其他 CPU 需要它 如果不遵守规则 就会产生异
c
cpuarchitecture
memoryalignment
predefinedmacro
C++ 对齐的未来:按值传递?
阅读 Eigen 库文档 我注意到有些对象不能按值传递 http eigen tuxfamily org dox TopicPassingByValue html C 11 中是否有任何开发或计划开发可以安全地按值传递此类对象 另外 为什么
c
C11
memoryalignment
Eigen
如何使用 boost.python 公开对齐的类
当尝试像这样公开对齐的类时 class declspec align 16 foo public void foo method BOOST PYTHON MODULE foo module class
boostpython
memoryalignment
为什么结构对齐取决于字段类型是原始类型还是用户定义的?
In 野田时间 http nodatime orgv2 我们正在转向纳秒分辨率 这意味着我们不能再使用 8 字节整数来表示我们感兴趣的整个时间范围 这促使我研究 Noda Time 的 许多 结构体的内存使用情况 这反过来又引导我发现 CL
c
NET
struct
clr
memoryalignment
没有与 GCC 内存对齐
我正在处理一些数据包 我创建了结构来保存数据包数据 这些结构体是由 python 为特定的网络协议生成的 问题是 由于编译器对齐结构 当我通过网络协议发送数据时 消息最终比我想要的要长 这会导致其他设备无法识别该命令 有谁知道可以解决这个问
c
gcc
compilerconstruction
compileroptimization
memoryalignment
malloc(1) 的对齐要求是什么
我听说成功调用malloc 返回适合任何类型对齐的指针 然而 要求这样做似乎毫无用处且浪费 malloc 1 返回一个指针 其对齐值大于1因为没有物体大于char可以存储到块中 对齐要求是什么malloc 1 malloc 2 etc 如果
c
malloc
languagelawyer
memoryalignment
c23
当扩展填充结构时,为什么不能在尾部填充中放置额外的字段?
让我们考虑一下结构 struct S1 int a char b struct S2 struct S1 s struct needed to make this compile as C without typedef char c Fo
c
struct
memoryalignment
写入的字符数多于 malloc 的字符数。为什么它不失败?
为什么以下工作有效并且不会抛出某种分段错误 char path usr bin char random 012 path random 0 so its malloc 13 but I get 16 bytes due to memory
c
memorymanagement
segmentationfault
memoryalignment
strcat
在编写干净的 C 代码时利用 ARM 未对齐的内存访问
ARM 处理器曾经无法正确处理未对齐的内存访问 ARMv5 及更低版本 就像是u32 var32 u32 ptr 只会失败 引发异常 如果ptr未正确对齐 4 字节 不过 编写这样的语句对于 x86 x64 来说效果很好 因为这些 CPU
c
arm
memoryalignment
类的成员字段顺序是否“稳定”?
考虑到 c 或 c 11 我有一些数据数组 其中包含 2 N 整数 代表 N 对 对于每个偶数 i 0 2 4 6 2 N 它认为 data i data i 1 形成这样一个对 现在我想要一种简单的方法来访问这些对 而不需要编写如下循环
c
casting
memoryalignment
GCC 中的 C 函数对齐
我正在尝试使用 aligned 16 属性将函数字节对齐到 16 字节边界 我做了以下事情 void attribute aligned 16 function 来源 http gcc gnu org onlinedocs gcc Func
c
gcc
Alignment
memoryalignment
C++ 中的原子性:神话还是现实 [重复]
这个问题在这里已经有答案了 我读过一篇关于无锁编程 http msdn microsoft com en us library ee418650 28v vs 85 29 aspx在 MSDN 中 它说 在所有现代处理器上 您可以 假设读取
c
atomic
memoryalignment
是否保证C中的数组元素将连续存储,没有填充?
换句话说 如果我有一个以这种方式分配的数组 是否可以保证 void arr calloc nmemb sizeof some type Then elta eltb eltc都将指向内存中的同一位置 这将是 type 的第二个元素some
c
Arrays
padding
memoryalignment
pointerarithmetic
为什么编译器在 N 字节边界上对齐 N 字节数据类型?
我不明白为什么编译器在 4 字节边界上对齐 int 在 2 字节边界上对齐 Short 在 1 字节边界上对齐 char 据我了解 如果处理器的数据总线宽度是 4 字节 则从不是 4 的倍数的地址读取 int 需要 2 个内存读取周期 那么
c
memory
compilerconstruction
memoryalignment
«
1
2
3
4
5
»