Skip to content

{ Monthly Archives } March 2018

细谈 C 之 sizeof

ANSI C 对 sizeof 的定义 (6.5.3.4 The sizeof operator): 限制 ( Constrains ) 1,sizeof 不能作用在以下类型上: 函数类型 未完成类型 位成员 语法 ( Semantics ) 2,sizeof 的结果是操作数的字节数大小,类型为无符号整型。 如果数组长度可变,那么会评估它的大小; 如果数组长度固定则返回一个常数; 3,具体的说: 如果是 char, unsigned char signed char 则返回 1; 如果数组长度固定则返回数组的字节大小; 如果是结构体或者共用体则结果就是这个类型实例的总大小; 举几个例子: 32 bit 系统上: sizeof (char) -> 1; int a[2]; sizeof (a) -> 8; 4,sizeof 的返回结果由具体编译器实现,类型是 size_t ,见 […]

定制 Linux 系统

ChangeLog: 20180409 – remount operation、mke2fs、nls package 20180404 – build minimal rootfs with busybox 本文实验环境为 BeagleBone Black 0,编译 U-Boot 与 Linux Kernel U-Boot: 源码 -https://github.com/u-boot/u-boot.git 补丁 -https://github.com/eewiki/u-boot-patches.git 配置 -make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- am335x_boneblack_defconfig 编译 -make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4 Kernel: 源码 - https://github.com/beagleboard/linux.git 配置 - make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- bb.org_defconfig 编译 - make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4 1,准备一个 SD 卡,大小 […]