
编程语言
菊到深秋艳依旧
这个作者很懒,什么都没留下…
展开
-
采用自增和自减的延时函数性能对比
如下两个延时函数 ,在效率上有什么优劣:void delay1 (void){ unsigned int i; for (i=0;i<1000;i++) ;}void delay2 (void){ unsigned int i;for (i=1000;i>0;i--) ;}结论: 自减比...原创 2020-02-11 21:23:31 · 737 阅读 · 1 评论 -
一段内存申请分配代码笔试题的分析
请问下列代码运行错误的原因是什么,怎么修改?void get_memory(char *p, int num) { p = (char *)malloc(sizeof(char) * num); } void test_memory_malloc(void) { char *str = NULL; get_memory(str, 100); // str 仍然为 NUL...原创 2020-02-10 21:48:47 · 738 阅读 · 1 评论 -
linux下用makefile实现简单工程
Make简介:工程管理器,顾名思义,是指管理较多的文件,Make工程管理器也就是个“自动编译管理器”,这里的“自动”是指它能够根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件文件的内容来执行大量的编译工作,Make将只编译改动的代码文件,而不用完全编译。Makefile文件一般和项目的其他源文件放在同一个目录下。在机器上可以同时存在许多不同的makef...原创 2019-12-03 23:20:23 · 371 阅读 · 0 评论 -
一种用宏来简单获取结构体成员变量的方法
一种用宏来简单获取结构体成员变量的方法#define MEM_OFFSET(TYPE,MEMBER) ((size_t)&((TYPE*)NULL)->MEMBER)这里实际上一个空指针或者说指针地址为0,而取的某个成员变量的地址减去基地址(0),也不是偏移量...原创 2019-11-19 22:36:12 · 962 阅读 · 0 评论 -
如何确认系统是采用大端还是小端
如何确认系统是采用大端还是小端1、大小端**大端(存储)模式:**是指一个数据的低位字节序的内容放在高地址处,高位字节序存的内容放在低地址处。如:一个数0x12345678存放在一个4字节空间里**小端(存储)模式:**是指一个数据的低位字节序内容存放在低地址处,高位字节序的内容存放在高地址处。(可以总结为“小小小”即低位、低地址、小端)如:一个数0x12345678存放在一个4字节空...原创 2019-11-18 23:02:43 · 5783 阅读 · 1 评论