摘要: # 安装WSL 1. Windows 11 版本如下: ![image](https://img2023.cnblogs.com/blog/389185/202308/389185-20230824154512143-2038737349.png) 2. 首先在 microsoft store 里面 阅读全文
posted @ 2023-08-25 14:39 suntl 阅读(1190) 评论(1) 推荐(0) 编辑
摘要: ##背景 因为最近空闲期,刚好遇到了一个小项目,需要AOSP系统的,因此就花费了一些时间捣鼓了一下,源码编译aosp13 ## 环境: vm 22.04 空间350g 内存24g ![image](https://img2023.cnblogs.com/blog/389185/202308/3891 阅读全文
posted @ 2023-08-24 15:42 suntl 阅读(1586) 评论(0) 推荐(0) 编辑
摘要: ## C语言指针5分钟教程 ### 指针、引用和取值 什么是指针?什么是内存地址?什么叫做指针的取值?指针是一个存储计算机内存地址的变量。在这份教程里“引用”表示计算机内存地址。从指针指向的内存读取数据称作指针的取值。指针可以指向某些具体类型的变量地址,例如int、long和double。指针也可以 阅读全文
posted @ 2023-08-18 17:18 suntl 阅读(7) 评论(0) 推荐(0) 编辑
摘要: ## 让C程序更高效的10种方法 代码之美,不仅在于为一个给定问题找到解决方案,而且还在代码的简单性、有效性、紧凑性和效率(内存)。代码设计比实际执行更难 。因此,每一个程序员当用C语言编程时,都应该记着这些东西。 本文向你介绍规范你的C代码的10种方法。 ### 避免不必要的函数调用 考虑下面的2 阅读全文
posted @ 2023-08-18 16:19 suntl 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 【转载】:原文 http://www.ruanyifeng.com/blog/2013/11/stack.html ## Stack的三种含义 - 博客 - 伯乐在线 - 转载 [Stack的三种含义](http://www.ruanyifeng.com/blog/2013/11/stack.htm 阅读全文
posted @ 2023-08-18 14:39 suntl 阅读(67) 评论(0) 推荐(0) 编辑
摘要: ## 失落的C语言结构体封装艺术 - 博客 - 伯乐在线 转载 ### 1. 谁该阅读这篇文章 本文是关于削减C语言程序内存占用空间的一项技术——为了减小内存大小而手工重新封装C结构体声明。你需要基本的C语言的基本知识来读懂本文。 如果你要为内存有限制的嵌入式系统、或者操作系统内核写代码,那么你需要 阅读全文
posted @ 2023-08-18 11:12 suntl 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 【转载】:原文 http://www.cnblogs.com/hongcha717/archive/2010/10/24/1859780.html ## 数组指针和指针数组的区别 ### 数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数 阅读全文
posted @ 2023-08-18 10:35 suntl 阅读(7) 评论(0) 推荐(0) 编辑
摘要: ## linux下错误的捕获:errno和strerror的使用 经常在调用linux系统api的时候会出现一些错误,比方说使用open()、write()、creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因。这个时候使用errno这个全局变量就相当有用了。 阅读全文
posted @ 2023-08-18 09:14 suntl 阅读(143) 评论(0) 推荐(0) 编辑
摘要: ## assert用法总结 assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义: ``` #include void assert( int expression ); ``` assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它 阅读全文
posted @ 2023-08-17 16:39 suntl 阅读(6) 评论(0) 推荐(0) 编辑
摘要: ## 高质量C编程指南—林锐 ### 头文件的作用略作解释: 1. 通过头文件来调用库功能。在很多场合,源代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库功能,而不必关心接口怎么实现的。编译器会从库中提取相应的代码。 2. 头文件能加强类型 阅读全文
posted @ 2023-08-17 15:13 suntl 阅读(8) 评论(0) 推荐(0) 编辑
摘要: ## 内存分配方式 内存分配方式有三种: 1. 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。 2. 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算 阅读全文
posted @ 2023-08-17 14:38 suntl 阅读(5) 评论(0) 推荐(0) 编辑
摘要: ## sscanf函数的高级用法 sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。 ### 函数原型: int sscanf( const char *format [,argument]... ); 其中的format可以是一个或多个: 阅读全文
posted @ 2023-08-17 14:20 suntl 阅读(92) 评论(0) 推荐(0) 编辑
摘要: ## sizeof()功能:计算数据空间的字节数 ### 与strlen()比较 1. strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素。 2. 而sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示。 ## 指针与静态数组的size 阅读全文
posted @ 2023-08-17 09:37 suntl 阅读(29) 评论(0) 推荐(0) 编辑
摘要: [[转载]](http://blog.csdn.net/nileel/archive/2009/06/29/4307284.aspx "[堆和栈在内存中的区别]") ## 堆和栈在内存中的区别 ### 内存分配方面: 堆:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数 阅读全文
posted @ 2023-08-17 09:25 suntl 阅读(6) 评论(0) 推荐(0) 编辑
摘要: C语言常常让人觉得它所能表达的东西非常有限。它不具有类似第一级函数和模式匹配这样的高级功能。但是C非常简单,并且仍然有一些非常有用的语法技巧和功能,只是没有多少人知道罢了。 ## 指定的初始化 很多人都知道像这样来静态地初始化数组: ```c int fibs[] = {1, 1, 2, 3, 5} 阅读全文
posted @ 2023-08-16 14:29 suntl 阅读(11) 评论(0) 推荐(0) 编辑