
C语言
菊到深秋艳依旧
这个作者很懒,什么都没留下…
展开
-
采用自增和自减的延时函数性能对比
如下两个延时函数 ,在效率上有什么优劣: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 评论 -
C语言内存分布(转)
C语言内存分布原文章在这里:https://blog.youkuaiyun.com/love_gaohz/article/details/41310597一.在学习之前我们先看看ELF文件ELF分为三种类型:.o 可重定位文件(relocalble file),可执行文件以及共享库(shared library),三种格式基本上从结构上是一样的,只是具体到每一个结构不同。下面我们就从整体上看看这3种格...转载 2019-11-29 21:11:35 · 177 阅读 · 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 评论 -
数字的秘密问题分析(C语言)原创
数字的秘密问题分析(C语言)【问题】在数字王国中,人人都有一个号码,人人想个号码对自己意味着什么。国一他不是你做了很多个盒子,每个盒子拥有一个号码。人们需要通过一定的方法才能确定哪个例子有自己的秘密。这个办法就是把自己的数字N的全部因子相加求和。例如12,他因子之和就是1+2+3+4+6=16。现在他们邀请你帮助编写一个函数 ,寻找他们的密码盒子。**输入:**输入数据的第一行是一个数字T...原创 2019-11-10 00:15:58 · 1692 阅读 · 0 评论