
C语言
关注驱动移植
楼兰公子
这个作者很懒,什么都没留下…
展开
-
core dump 调试开关打开之C代码
/* ============================================================================ Name : switch_core.c Author : Version : Copyright : Your copyright notice Description : Hello World in C, Ansi-style ================================.原创 2020-07-28 19:50:03 · 1175 阅读 · 0 评论 -
数字转字符串的转换
#include <ctype.h>#include <stdio.h>void itoa (int n,char s[]){ int i,j,sign; if((sign=n)<0)//记录符号 n=-n;//使n成为正数 i=0; do{ s[i++]=n%10+'0';//取下一个数字 } while ((n/=10)>0);//删除该数字 if(sign<0) .原创 2020-05-26 10:51:40 · 202 阅读 · 0 评论 -
三元运算符存在的隐式转换现象
#include<stdio.h>int main(){ int x = 4; printf("%d\n",x>4?99.0:9); printf("%d\n",x>4?99:9); printf("%d\n",x>4?99:9.0); printf("%f\n",x>4?99:9.0); if(x>4){ printf("%d\n",99.0); }else{ printf("%f\n",9); .原创 2020-05-09 10:08:05 · 699 阅读 · 0 评论 -
C和C++重要区别
C和C++可以自然混合,C++是作为C的扩展设计的 C和C++数据类型基本相同, C和C++唯一区别是体现在函数名称上,C语言使用简单函数名,不考虑参数的个数和类型,C++总是将参数类型列表当做函数名的一部分, C++提供一些特殊的功能可以声明C函数,即C++程序可以直接声明并调用C函数...原创 2020-04-14 21:06:38 · 174 阅读 · 0 评论 -
优化之如何降低频繁申请&&释放内存
1,一次多申请些内存,可以降低申请频次2,释放一块内存时,不是直接返还系统,而是将其缓存住,留待下次分配3,以上操作可以降低系统调用频次,提高进程效率...原创 2020-02-23 00:15:30 · 801 阅读 · 0 评论 -
优化之glibc内存管理
P=1,表示上一块正在被使用,此时prev_size通常为0P=0,表示上一块空闲,这时prev_size通常为上一块的大小M=1,表示该内存块通过mmap来分配,只有在分配大块内存时,才采用mmap的方式,那么在释放时会由mumap_chunk()去释放,否则释放时由chunk_free()完成M=0,则表示该内存块不采用mmap方式分配glibc内存管理使用br...原创 2020-02-22 23:25:21 · 320 阅读 · 0 评论 -
优化之malloc函数实现逻辑
分配:Linux内核中专门为进程分配一段内存地址,用来存放的内容 进程申请内存的增加,进程会通过系统调用brk调高堆顶地址 扩展内存空间,从而Linux内核分配给进程更多的内存释放: 进程释放内存时,进程优惠通过系统调用brk调低堆顶地址,缩减这段内存空间 Linux内核便会将其中一部分物理内存回收存在的问题 是否为每次调用malloc ,new时都会调用系统调...原创 2020-02-22 22:49:32 · 338 阅读 · 0 评论 -
优化之为什么malloc时,要求输入内存区域大小:而在free时,不需要输入内存区域大小
当程序调用函数malloc申请内存时,并不是直接向操作系统申请,而是先由glibc内存管理器接收到请求,其分配一块内存病将内存地址返回给用户,同时在(p-4)这个地址记录下malloc空间的大小,glibc在free这块内存的时,在(p-4)的这个地址获得分配内存的大小,释放该快内存...原创 2020-02-22 22:36:09 · 810 阅读 · 0 评论 -
C&& C++ 的主要区别
https://www.jianshu.com/p/2522b07219aehttps://www.cnblogs.com/wuyepeng/p/9607583.html1)、标准:分别隶属于两个不同的标准委员会。C以C99标准为主流,C11已经发布;C++以C++98/03为主流,C++11/14也日趋流行。2)、语言本身:1、C++是面向对象语言,C是面向过程语言。2...转载 2020-01-14 17:11:28 · 528 阅读 · 0 评论 -
底层const和顶层const的区分
1.辨别规则利用右结合原则右结合的是类型或者*则是底层const,右结合的是标识符则是顶层const2特性底层const指的是与指针,引用有关联的顶层const表示任意对象是常量3.在指针中既有顶层const也有底层const在引用中只有底层const4.底层const修饰的是常量指针又叫常指针 顶层const修饰的是指针常量,只能用对象...原创 2020-01-13 15:36:50 · 264 阅读 · 0 评论 -
代码风格关键点
1.使用4个TAB空头2.注释采用/*---*/,并且代码放在函数头部,解释结果是什么,不要说明做了什么3.文件信息注释 版权,文件名,作者,版本号,文件简介,修改日志4.函数作用,参数含义,返回值含义/**@Description:*@param --1*@param --2*@return -- 返回值*/命名规则1.清晰2.完...原创 2019-12-26 10:44:08 · 190 阅读 · 0 评论