- 博客(28)
- 收藏
- 关注
原创 嵌入式--网络编程基本步骤
基本了解IOS的七层协议了解新版的TCP/IP的四层协议理解TCP/IP的四层协议中的传输层:IP地址+端口号通过理解TCP/IP的四层协议中的传输层,编写应用层。
2025-08-24 15:07:10
35
原创 线程创建与控制
头文件:pthread_t *restrict thread新线程的IDconst pthread_attr_t *restrict attr设置为NULL设置默认线程void *(*start_routine)(void *)执行一个void *的函数void *restrict arg传递给函数的参数int i=0;printf("我是tread\n");i++;glob++;//退出一条线程int reval;if(reval!=0){
2025-08-21 10:12:00
233
原创 进程间的通信方式
int signum信号值(1-31,34-64) sighandler_t handler执行的操作类型( SIG_IGN(忽略信号) SIG_DFL(执行默认操作) 函数指针(捕获型号,执行函数));int msgflg: IPC_CREAT( O_CREAT | O_EXCL),如: IPC_CREAT| 0664。sigset_t set 信号变量 sigset_t oldset 创建保存旧信号 可以填NULL不保存。头文件: #include <sys/ipc.h>
2025-08-20 10:42:20
525
原创 linux系统编程——进程
进程(Process)就是程序的一次执行实例。是这个程序被加载到内存中,由操作系统调度执行的。进程是操作系统资源分配和调度的基本单位。PCB(进程控制块)
2025-08-16 10:30:48
184
原创 马克思主义基本原理期末复习下
其三,实现每个人自由而全面的发展,人类从必然王国向自由王国飞跃,劳动不再是单纯的谋生手段,而是“生活的第一需要”。第三,国家垄断资本主义是资本社会化的更高级的形式,将成为社会主义的前奏。生产过剩是资本主义经济危机的基本特征,但是这种过剩是相对过剩,即相对于劳动人民有支付能力的需求来说社会生产的商品显得相对过剩,而不是与劳动人民的实际需求相比较的绝对过剩。是社会主义实践探索的新境界,在社会主义发展史上具有重要地位,不仅对中国的社会主义事业具有重大意义,而且对世界社会主义发展具有广泛影响。
2025-06-24 22:28:04
336
原创 马克思主义基本原理期末复习上
矛盾的普遍性和特殊性是辩证统一的关系。矛盾的共性是无条件的、绝对的,矛盾的个性是有条件的、相对的。任何现实存在的事物的矛盾都是共性和个性的有机统一,共性寓于个性之中,没有离开个性的共性,也没有离开共性的个性。事物的辩证不是一次完成的,是经历否定是经历自我发展的两次否定、三个阶段,即肯定-否定-否定之否定的有规律的过程。意识在内容上是客观的,在形式上是主观的,是客观内容和主观形式的统一。具有使用价值和价值两个因素使用价值是指商品你满足人的某种需要的有用性,反映的是人与自然之间的物质关系,是商品的自然属性。
2025-06-24 19:33:24
453
原创 堆和栈在运行时的长度变化
当多次分配和释放不同大小的内存块时,堆中可能会出现许多小的空闲块,这些空闲块无法被充分利用,导致堆的实际可用空间减少。• 释放内存时:当程序通过`free`函数释放动态分配的内存时,系统会回收这块内存,堆的大小会相应减少。然而,由于堆内存的释放可能不会立即导致堆的物理大小缩小(因为可能存在内存碎片),堆的大小变化可能不如栈那么直观。堆是一种动态分配的内存区域,主要用于存储程序运行时动态分配的变量,例如通过`malloc`、`calloc`、`realloc`等函数分配的内存。(2)栈的内存分配特点。
2025-06-10 09:17:46
383
原创 编译原理第七章 运行时的存储组织与分配
静态局部变量在程序开始运行时就分配内存,并且在程序运行期间一直占用这块内存。1. 静态存储区的特点• 生命周期:静态局部变量的生命周期从程序开始运行时就存在,直到程序结束时才被释放。静态局部变量存放在静态存储区,具有较长的生命周期和固定的内存分配位置,这使得它在多次函数调用之间能够保持状态。• 静态局部变量:存放在静态存储区,程序启动时分配内存,程序结束时释放内存。• 普通局部变量:存放在栈区,函数调用时分配内存,函数返回时释放内存。静态局部变量在程序运行时是存放在内存的“静态存储区”中的。
2025-06-10 09:06:29
272
原创 C语言.h头文件的写法
/ 顺序表内存(指针指向的内存区域) --- 以整型数据为例。#ifndef __SEQUENCE_LIST_H // 定义以防止递归包含。// 顺序表的元素下标(最末尾元素的下标)// (3)、自定义类型(结构体、联合体、枚举、函数指针类型等...)int capacity;// (2)、宏定义(函数、变量、常量)// (6)、全局静态变量、函数。// (5)、全局变量声明。// (1)、其它头文件。// 顺序表的管理结构体。// (4)、函数声明。
2025-02-18 20:16:47
801
原创 多维数组(二维)
在C语言中,二维数组可以被看作是“数组的数组”,即每个元素本身也是一个数组。下面是一些关于如何声明、初始化和访问二维数组的基本信息。要访问二维数组中的元素,你需要提供两个索引:第一个指向行,第二个指向列。type 是数组元素的数据类型,如 int, float, char 等。// 访问第一行第一列的元素。// 访问第三行第四列的元素。{0, 1, 2, 3}, // 第一行。{4, 5, 6, 7}, // 第二行。{8, 9, 10, 11} // 第三行。
2025-01-16 17:34:46
155
原创 VScode(安装及使用)
vsCode 全称 Visual Studio Code,是微软出的一款轻量级代码编辑器,免费、开源而且功能强大。它支持几乎所有主流的程序语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比Diff、版本管理GIT等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持 Win、Mac 以及 Linux。
2025-01-16 15:07:50
6200
原创 C语言分支语句 if 、if-else
c·注意if语句后面是否有;号,不论语句判断是否正确,都将会执行补里的内容。b.不管是if语句还是else语句,代码块都必须使用大括号括起来,否则只有首句有效。a.if语句可以单独使用,else语句不可以,else语句必须跟语句配套重。
2025-01-15 11:31:18
212
原创 2025.01.14C练习题20道
设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是。) 设a=1,b=2,c=3,d=4,则表达式:a
2025-01-15 10:55:54
1823
原创 熟悉Linuk系统
ctrl shift v // 粘贴,不用这个快捷键也可以,在linux系统中按鼠标滚轮键,即可粘贴。ctrl shift c // 复制,不用这个快捷键也可以,在linux系统中选中即复制。ctrl shift t // 打开同样路径的终端(在之前的同一终端打开)ctrl shift n // 打开同样路径的终端(在另一终端打开)键盘的上下键 // 可以上下调用之前使用过的命令。ctrl shift + // 放大终端。ctrl alt t // 打开终端。ctrl - // 缩小终端。
2025-01-14 11:09:16
237
原创 嵌入式-格式控制符
d // 十进制整数,decimalism%o // 八进制整数,octonary%x // 十六进制整数,hexadecimal%c // 字符,character%s // 字符串,character string%f // 单精度浮点数,float%p // 输出地址、输出指针的值,pointer。
2025-01-13 21:38:19
540
原创 讲师课堂整理的嵌入式C的专业英语(第一周)
gcc:GNU Compiler Collection,GNU编译器套件。directory:目录、路径、文件夹名。virtual machine:虚拟机。pointer,输出地址、输出指针的值。reference:索引,参照,引用。decimalism:十进制整数,asynchronous: 异步的。Collection:套件,收集。intellisense:智能的。synchronous: 同步的。manual:手动的,自助手册。extension:扩展,插件。interface:接口,界面。
2025-01-13 10:58:48
594
原创 C语言数据类型(数据类别)
(1).int 的本意是 integer,即整数的意思 (2).int a 代表在内存中开辟一块小区域,称为 a,用来存放整数,a 一般被称为变量。 (3).变量 a 所占内存大小,在不同的系统中是不一样的,64位系统典型的大小是4个字节。 (4).变量 a 有固定的大小,因此也有取值范围,典型的范围是:-2147483648到2147483647 五、布尔型数据(bool)概念:布尔型数据只有真、假两种取值,非零为真,零为假。注意
2025-01-12 13:14:50
2713
7
原创 数据结构中的进制转换(二、八、十、十六进制转换)
(1).100(十进制) ==》0110 0100(8位的二进制)从底向上排列 0110 0100(2).144(八进制):==》 0110 0100(8位的二进制) --- 1个八进制的位 == 3个二进制的位001 100 100 规范显示:0110 0100(3)73(十六进制):==》0111 0011(8位的二进制) --- 1个十六进制的位 == 4个二进制的位7 --->0111;3 --->0011;0111 0011。
2025-01-12 00:15:44
532
1
原创 嵌入式课程笔记(gec培训第五天)
C语言被称为是一种面向过程的模块化语言,所谓的模块,指得是一个个功能明确、各司其职的封装函数,它们就像一块块积木,被合理有机地拼搭起来,形成复杂、健壮的程序。#include <stdio.h> ------告诉编译器在.h文件中(声明)有这么一个符号,需要去其相应的.c文件里去找其源文件(实现(定义))在这之中,系统标准C库提供了非常多“模块”,printf 就是其中之一,它的功能就是:向终端输出一段指定格式的数据。(1).C语言程序中,任何符号(包括变量和函数)的使用,都是需要提前声明的。
2025-01-10 21:57:56
589
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人