- 博客(26)
- 收藏
- 关注
原创 网络编程之网络基础
基础理论IP子网掩码端口号字节序网络基础模型传输协议socketTCPUDP广播组播抓包工具的使用协议头并发服务器Modbus协议HTTP协议HTML分析服务器源码、数据库一、认识网络网络:实现多设备通信。
2025-06-04 19:47:40
479
原创 进程IO之 线程
线程是一个轻量级的进程为了提高系统的性能引入线程。线程和进程都参与统一调度。在同一个进程中可创建多个线程,共享进程资源。1.2进程和线程的区别相同点:都为OS提供了并发执行能力:线程是系统调度的最小单位,进程是资源分配的最小单位:同一进程创建的的多个线程共享这个进程的资源,而各个进程之间的地址空间相互独立:线程通信相对简单,只需要通过全局变量就可以实现,但要注意临界资源的访问问题;进程通信比较复杂,需要借助进程间的通信机制。
2025-05-28 20:51:56
526
原创 进程IO之 库
使用他人的函数时,除了包含头文件还可以用库文件头文件函数声明结构体共用体枚举的定义宏定义重定义外部引用其他头文件。库:把一些常用的函数的目标文件打包在一起,提供相应的函数接口,便于程序员使用。本质上来说库是一种可执行代码的二进制形式文件。2. 库的分类静态库和动态库:本质区别是代码被载入的时刻不同2.1静态库程序编译时,会被复制到目标代码中,以.a结尾优点:程序运行时将不再需要该静态库,运行时无需加载库,运行速度更快,可移植性好。
2025-05-26 14:33:36
833
原创 进程IO之 标准IO
重点:学会用函数,不要执着于函数实现底层逻辑标准I/O、文件I/O、库、linux的I/O模型进程之间通信:无名管道(pipe)、有名管道(fifo)、信号(signal)、共享内存(shared memory)消息队列(message queue)同步、互斥、条件变量。
2025-05-22 21:15:46
979
原创 数据结构基础
数据结构:数据的逻辑结构以及存储操作数据:不是单纯数字,类似于一个集合的概念数据元素(节点):是数据基本单位,由若干数据项组成数据项:数据最小单位,描述数据元素的有用信息例:数据:所有图书的信息数据元素:某一本书的信息数据项:编号、书名、作者 ....
2025-05-15 19:12:23
842
原创 分文件编程与make工具
make:工程管理器,管理较多文件make工程管理器也就是个“自动编译管理器”,这里的“自动”是指它能构根据文件时间戳自动发现更新过的文件而减少编译的工作量(只编译改动过的文件),同时,它通过读入Makefile文件文件的内容来执行大量的编译工作。Makefile 或 makefile 是 make读取的唯一配置文件。2.格式makefile文件中命令格式:目标文件:依赖文件命令注意:命令前的是Tab键使用make工具的命令:makemake命令执行时,他一次只会。
2025-05-12 18:24:31
949
原创 Linux命令(续)
了解不同操作系统的内核:查看系统版本命令:查看OS版本:lsb_release -a或者lsb_release -rcat/etc/issue --->查看存放OS版本信息的文件查看内核版本:uname -a 或者uname -rcat /proc/version ---->查看存放内核版本信息的文件。
2025-05-07 20:30:53
852
原创 C高级之存储类型、函数指针、指针函数
形参列表:指向函数的参数列表,只需保持与函数形参数据类型一致,因此可。本质是指针,指向的是函数,即指针中存储的是函数首地址。在Linux内核源码中,很多函数参数用的是函数指针。修饰全局变量,其作用域会被限制在。(对全局变量影响不大,主要是局部变量)的全局变量或函数(未被static修饰的)(对全局变量影响不大,主要是局部变量)修饰局部变量,其作用域保持不变,仍是。本质是函数,函数的返回值是地址(指针)同类型是指 返回值类型同,形参列表同。本质是数组,元素是同类型的函数指针。函数名:函数的首地址(函数入口)
2025-05-06 18:55:33
269
原创 C高级之共用体、枚举
union 共用体名 变量名;char c;return 0;1)共用体成员变量共用一块地址空间2)赋值顺序以最后一次赋值为准3)共用体大小为成员变量数据类型中最大的为准union valint a;char c;return 0;
2025-05-06 13:45:35
274
原创 C高级之结构体
用户自定义的数据类型,结构体中可以包含若干相同或不同数据类型的成员变量,使这些数据项组合起来反映某种信息。struct 结构体名成员变量;struct 结构体名 变量名;int id;int age;//全局//局部return 0;struct 结构体名成员变量;} 变量名;int id;int age;}stu;//全局//局部return 0;注意: 此种方式无法在局部再去单独定义变量,只能在全局定义!!struct成员变量;} 变量名。
2025-05-06 07:57:09
633
原创 C语言基础之malloc/free和string家族
若开辟的空间过大,可能会导致开辟失败(此时会返回NULL),因此开辟空间后都要有一个是否开辟成功的判断。错过字符串定义时的直接赋值后,想要直接赋值,就得用strcpy()在free操作以后一定要将指针赋值NULL,避免其变成野指针!)比打印出来的要长,因为打印时遇到'\0'就认为字符串结束了。'\0'也会被复制过去,所以实际dest的长度(1.dest必须是可被修改的,不能是只读的。
2025-04-27 17:05:51
454
原创 C语言基础之函数
函数格式:数据类型 函数名(形参1,形参2)代码段return 常量值或变量或表达式#函数的返回值类型要与定义函数的数据类型保持一致#主函数的return标志着程序的结束。
2025-04-25 20:47:54
421
原创 C语言基础之指针(续)
constconst :被const修饰的变量会常量化,变成 read only(只读)const修饰指针指向的内容时(const在*前面),内容不可改,但可以修改指针指向const 修饰指针的指向时(const在*后面),指向不可改,但指向的内容可改帮助记忆:看const后面紧跟的是谁;是 * ,*是取内容的,则内容不能改;是 p ,p是变量的地址,则地址不能改即指针指向不能改。若都有:voidvoid:修饰指针或函数 (不能修饰普通变量!!
2025-04-24 19:19:24
734
原创 C语言基础之数组
由一个或多个相同数据类型的值组成的集合。特点:数据类型相同;内存连续;存储类型数据类型数组名 [元素个数n]默认auto(省略)intarr[5]a[ i ] 只有在数组定义时,i 表示数组元素个数,其余任何时候都是下标的意思//例int arr[5];
2025-04-21 19:51:07
463
3
【软件开发工具】GDB调试工具常用指令详解:程序调试流程与核心功能介绍
2025-05-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人