摘要: 0x00简介 首先要知道结构体的对齐规制 1.第一个成员在结构体变量偏移量为0的地址处 2.其他成员变量对齐到某个数字的整数倍的地址处 对齐数=编辑器默认的一个对齐数与该成员大小的较小值 vs中默认的值为8 gcc 没有默认就是累加 3.结构体总大小为最大对齐数(每个成员变量都有一个对齐数)的整数倍 阅读全文
posted @ 2021-04-13 20:00 紅人 阅读(620) 评论(0) 推荐(0)
摘要: 0x01隐藏 当我们同时编译多个文件时,所有未加 static 前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是 a.c,另一个是 main.c。 下面是 a.c 的内容: char a = 'A'; // global variable void 阅读全文
posted @ 2021-04-13 16:25 紅人 阅读(166) 评论(0) 推荐(0)
摘要: char * Mystrtok(char * string, const char * control) { unsigned char *str; const unsigned char *ctrl = (const unsigned char *)control; //注意这里使用了static 阅读全文
posted @ 2021-04-13 08:04 紅人 阅读(254) 评论(0) 推荐(0)
摘要: void * Mymemcpy(void * dest ,const void *src ,size_t count) { void *temp = dest; if (dest< src) { while (count--) { *(char *)dest = *(char *)src; ++(c 阅读全文
posted @ 2021-04-13 07:40 紅人 阅读(282) 评论(0) 推荐(0)
摘要: void * Mymemcpy(void * dest ,const void *src ,size_t count) { void *temp = dest; while (count--) { *(char *)dest = *(char *)src; ++(char *)src; ++(cha 阅读全文
posted @ 2021-04-13 07:09 紅人 阅读(214) 评论(0) 推荐(0)