如何正确地将UINT32_T施加到未签名中
how to correctly cast uint32_t to unsigned
我正在尝试使用地址消毒剂修复一些C 代码。代码说:
unsigned result = *(uint32_t*)data;
和消毒剂给出:
runtime error: load of misaligned address 0x6280033f410a for type 'uint32_t', which requires 4 byte alignment
我需要如何解决此问题?
load of misaligned address 0x6280033f410a for type 'uint32_t' ...
我需要如何解决此问题?
您需要创建一个对齐对象(例如变量),然后从未对准的地址复制内容:
std::uint32_t u32;
std::memcpy(&u32, data, sizeof u32);
这假设您打算从该地址读取sizeof u32
字节,并且这些字节是在本地endianness中排序的。
如何正确施放UINT32_T到unsigned
隐式转换应该很好:
unsigned result = u32;
相关文章:
- 如何正确地将分支添加到已存在的树中
- 如何正确地将带有指针的数组传递给函数
- 如何正确地推回然后遍历堆中对象的向量?
- 我是否不正确地集中了这些字符数组?
- 如何通过另一个对象中的命令正确地从一个对象返回数据
- 我怎样才能通过友谊正确地履行我的职能?
- C++:如何正确地将 deque::front() 返回的变量从函数中传递出去?
- 我应该如何正确地将packaged_task移动到 lambda?
- 如何正确地将SHA1CryptoServiceProvider转换为c ++?
- 如何正确地对 constexpr 函数进行单元测试
- 我的动态链接队列在同一输出流中调用时不正确地输出三个返回函数
- 如何正确地将boost::asio::buffers_iterator转换为InputIterator
- 如何正确地检查变量char中包含的字母
- 当试图交换可变模板类时,如何正确地重载operator=
- 如何正确地将 boost::optional<std::chrono::d uration> 作为函数参数?
- 如何在C++中正确地将我的语言字符输出到HTML文件中
- 如果我的类正确地管理了一个资源,那么拥有智能的poointer有什么意义
- 如何正确地编写这些条件,以便它们在控制台中工作
- 正确地编写一个类,并将pthread与vlc库和c++一起使用
- 如何正确地将UINT32_T施加到未签名中