- 博客(20)
- 收藏
- 关注
原创 网络socket编程(二)——面向流的TCP编程及测试(SocketTool)、Wireshark软件使用
本文对select()函数使用测试过程中发现的问题进行了总结改进;分别对TCP服务端和客户端Socket编程进行实战演练并测试;后介绍了网络上非常流行的抓包软件——Wireshark,对软件的界面和使用进行了简单的阐述并演示,相应的也对Linux下tcpdump抓包工具做了一个简单的介绍。
2024-04-03 13:14:38
2260
2
原创 网络socket编程(一)——socket接口函数、面向数据报的UDP编程及测试、select函数应用
本文对网络编程接口socket进行了简单的阐述,并介绍了一些编程中常用的socket接口函数。后针对面向数据报的UDP进行实战编程和测试,分别实现了UDP客户端和服务端的编程,还针对UDP可能会丢包的缺陷在程序中调用select设置接收超时。测试工具使用SocketTool和UDP_tester,搭建测试环境,测试结果达到了预期的效果。
2024-03-28 13:14:28
1471
1
原创 程序编译、运行使用动态库的一个示例
本文对程序从编译到运行如何使用动态库做了详细的介绍,并附相关基础知识点,如静态库、动态库的概念,结合例程演示过程中可能出现的问题,分析原因并给出解决办法。
2024-01-23 13:14:15
1168
2
原创 进程间的通信方式(一)之——共享内存和信号量
本文详细介绍了进程间通信的两种方式:共享内存和信号量,对其应用场景和4(共享内存)+3(信号量)个接口函数进行了详细说明,并进行实战演练,通过运行结果更加直观的了解它们的通信机制。共享内存往往是结合信号量来实现进程间的同步和通信的,因此又给出例程阐述如何引入信号量来实现对共享资源的互斥访问。
2024-01-17 13:14:09
1481
1
原创 IDE程序调试之VS篇
本文介绍了windows开发环境下的VS调试工具,对常用调试快捷键和如何查看程序信息进行了阐述,并介绍了Release发布版本的可执行程序修改默认图标的方法。
2023-12-18 13:14:12
1223
2
原创 mem_ _ _ 内存操作函数
本文较为详细地介绍了4个常用的内存操作函数:memcpy、memcmp、memmove和memset,并通过例程阐释使用它们时的注意事项。分享工作中曾经写过的的一个bug再次鞭尸strcpy函数,为memcpy代言。
2023-12-13 13:14:05
1123
1
原创 动态内存分配
本文比较全面地对总结了动态内存相关知识,包括malloc、calloc、realloc、free4个函数的正确使用及常见错误,内存泄漏内存池概念,还有三个笔试题分析,学以致用——C语言实现【通讯录】动态扩容。
2023-12-10 13:14:00
1482
2
原创 冒泡排序思想 + 函数指针数组(qsort排序思想 )实现【通讯录】多种排序方式
利用冒泡排序、qsort排序思想,结合结构体指针、结构体传参、字符串比较、回调函数(函数指针)、函数指针数组知识实现通讯录多种排序方式。
2023-12-08 13:14:42
943
1
原创 C语言——结构体
结构体在C编程或者说数据结构中有着举足轻重的地位,为了熟练地运用结构体,本文基本总结了结构体所有的知识点,包含结构体定义、初始化和引用、结构体传参、结构体指针,以及结构体内存对齐,还捎带介绍了位段的相关知识。
2023-12-06 13:14:12
4942
3
原创 变量的存储、作用域和生存期
本文介绍了全局变量和局部变量的一些概念并总结其存储方式,进而了解其生存期;还简单介绍了堆栈的概念以及函数变量的声明定义,进而介绍extern和static两个常用关键字用法。
2023-11-09 13:14:15
235
2
原创 什么是嵌入式开发?
本文对嵌入式软件开发以及嵌入式Linux进行了系统的概述,通过网上查阅资料阐述了操作系统、内核、处理器等相关概念,还分别从底层开发和应用层开发的角度总结了嵌入式Linux软件开发内容,顺便丰富了系统调用、交叉编译、ARM、驱动框架、设备树、内核源码等知识。
2023-10-27 13:14:15
24050
17
原创 C语言常用的字符函数和字符串函数
学习笔记:通过字符指针引用字符串;一些典型的字符指针笔试题;结合工作中编程写的bug总结了一些常见的字符串处理函数用法及注意事项;还有带参数的main函数的定义及测试。
2023-10-07 13:14:17
749
2
原创 C语言数组传参的正确打开方式?
在C语言中,数组名代表的就是首元素地址,数组传参时传数组名时形参有两种写法:数组形式和指针形式。因为一维数组名和二维数组名表示的含义不同:一个是变量指针,指向数组元素;一个是数组指针,指向数组。所以当实参是数组名时一维数组和二维数组在函数形参定义时是有所差异的。
2023-09-25 13:14:29
1737
2
原创 C语言指针进阶:数组指针和函数指针
数组的操作大多时候可以转化为指针操作,善用指针引用数组元素,方便灵活,有不少技巧,本文介绍了数组指针的概念以及通过数组指针引用数组的方法原理;还有函数指针的概念,通过计算器例程和qsort库函数说明函数指针的妙用。
2023-09-23 13:14:19
615
2
原创 C程序中如何知道一段代码的执行时间?
使用Linux系统time()、gettimeofday()函数以及 times()、clock()函数来获取一段代码的执行时间。
2023-09-05 13:14:11
5630
1
原创 计算机网络知识(二)
深度学习总结网络通信TCP/IP协议,更具体的去理解网络数据在各层如何进行封装传输以及各层的一些重要设备(比如数据链路层的交换机、网络层的路由器和传输层的网关)的具体作用。
2023-09-02 13:14:20
1178
1
原创 计算机网络知识(一)
网络通信是通过网络将各个孤立的设备进行连接,通过信息交换实现计算机与计算机之间的通信。计算机网络学习的核心内容就是网络协议的学习,网络是分层的,了解OSI模型有助于理解网络通信,尤其是不同类型网络之间的网间通信。除了标准的OSI七层模型以外,常见的网络层次划分还有TCP/IP四层协议以及TCP/IP五层协议。
2023-08-29 13:14:13
177
2
原创 rand()函数生成随机数使用方法详述
程度当中调用 rand()可以得到[0, RAND_MAX]之间的伪随机数,多次调用 rand()便可以生成一组伪随机树序列,但是这里有个问题,就是每一次运行程序所得到的随机数序列都是相同的,那如何使得每一次启动应用程序所得到的随机数序列是不一样的呢?那就通过设置不同的随机数种子,可通过srand()设置随机数种子。
2023-08-10 13:14:41
1403
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人