编程语言C
C语言相关
sssuperqiqi
这个作者很懒,什么都没留下…
展开
-
【内存抖动】 memset 之虚拟内存到物理内存的转换
在开发中,发现使用memset后,有内存抖动问题,所以测试代码实测了一下。问题现象:在memset后,物理内存增大原因:编译器编译程序时,为其分配虚拟内存,程序实际运行时操作系统才会将其映射到物理内存。测试代码:#include <iostream>#include <string.h>#include <unistd.h>using namespace std;void init_array();#define STRING_LEN 255原创 2021-08-02 16:22:39 · 603 阅读 · 0 评论 -
C的strncpy和snprintf (是否补充最后字符串结尾)
https://www.cnblogs.com/dongzhiquan/archive/2012/01/09/2317622.html转载 2021-06-07 11:29:22 · 305 阅读 · 0 评论 -
堆/栈的比较 以及 malloc/new动态内存的开辟
堆与栈的比较:1.申请方式(1)栈(satck):由系统自动分配。(2)堆(heap):需程序员自己申请(c:调用malloc,realloc,calloc申请 free 来释放),并指明大小,并由程序员进行释放。容易产生内存泄漏.2.申请大小的限制(1)栈:在windows下栈是向底地址扩展的数据结构,是一块连续的内存区域(它的生长方向与内存的生长方向相反)。栈的大小是固定的。如果...转载 2019-08-28 10:58:06 · 360 阅读 · 0 评论 -
C语言 hex十六进制字符串转byte字节数组
例:”0C B1 15 02 C0 27 01 20 ” –> {0x0c, 0xb1, 0x15, 0x02, 0xc0, 0x27, 0x01, 0x20}static int hex2byte(char *dst, char *src) { while(*src) { if(' ' == *src) { src++; ...原创 2018-03-09 17:19:13 · 5044 阅读 · 2 评论 -
C语言 字节数组转为字符串
话不多说贴代码:int main(void){ unsigned char src[6] = { 0x12, 0x00, 0x56, 0x78, 0x90, 0xab }; char s[13] = { 0 }; int i; char c1, c2; for (i = 0; i < 6; i++) { c1 = src[i] & 0xFu; c2 = (src[i] >&...原创 2018-03-05 15:02:13 · 23133 阅读 · 6 评论 -
实例讲解C语言中fread()函数的返回值问题
最近在Linux下用C编写一个的蓝牙模块升级程序,用到 fread 函数时候发现返回值始终为1,看了很多帖子说的比较啰嗦,所以博主自己总结了一份。函数:fread(从文件流读取数据)表头文件: #include函数定义 size_t fread(void * ptr,size_t size,size_t count,FILE * stream);函数说明: f原创 2018-01-10 14:32:24 · 5798 阅读 · 0 评论