不同架构下的编程实践
1. 检测系统字节序
1.1 操作步骤
- 在
loop子目录下创建CMakeLists.txt文件,内容如下:
cmake_minimum_required(VERSION 3.5.1)
project(endianness)
add_executable(endianness endianness.cpp)
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)
SET(CMAKE_CXX_FLAGS "--std=c++11")
set(CMAKE_CXX_COMPILER /usr/bin/arm-linux-gnueabi-g++)
- 构建应用程序,并将生成的可执行二进制文件复制到目标系统。
- 切换到目标系统的终端,必要时使用用户凭据登录。
- 运行二进制文件。
1.2 原理分析
利用C语言的 union 函数将不同数据类型的表示映射到同一内存空间。示例代码如下:
union {
uint32_t i;
uint8_t c[4];
} data;
给32位整数 i 赋值一个特殊构造的
不同架构下的编程实践
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



