摘要: ```c char* stristr(char* pString, char* pFind) { unsigned long pFind_len=0; unsigned long cmp_len=0; char *pt1 = NULL, *pt2 = NULL; char* pString_pt = 阅读全文
posted @ 2023-08-16 11:23 suntl 阅读(237) 评论(0) 推荐(0) 编辑
摘要: C语言结构体对齐也是老生常谈的话题了。基本上是面试题的必考题。内容虽然很基础,但一不小心就会弄错。写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢? 开始学的时候,也被此类问题困扰很久。其实相关的文章很多,感觉说清楚 阅读全文
posted @ 2023-08-16 10:40 suntl 阅读(15) 评论(0) 推荐(0) 编辑
摘要: [C宏定义的简单总结](http://www.cppblog.com/BlueSky/archive/2007/11/20/37000.html "C宏定义的简单总结") 今天在网上突然发现了下面几个关于c代码中的宏定义的说明,回想下,好像在系统的代码中也见过这些零散的定义,但没有注意,看到别人总结 阅读全文
posted @ 2023-08-16 09:39 suntl 阅读(21) 评论(0) 推荐(0) 编辑
摘要: ## 如何实现模块间高内聚、低耦合? 1. 封装与抽象; 2. 添加中间层; 3. 模块化; 4. 设计思想与原则 1. 单一职责; 2. 接口隔离原则; 3. 依赖倒置; 4. 迪米特原则; 5. 多用组合少用继承; 5. 设计模式:观察者模式 ## 设计原则及设计模式 ### 六大设计原则: 单 阅读全文
posted @ 2023-08-15 09:56 suntl 阅读(34) 评论(0) 推荐(0) 编辑
摘要: ## OSI七层模型都有哪些,其中tcp/ip位于哪一层? 物理层、数据链路层、网络层、传输层、会话层、表示层及应用层,其中TCP/UDP位于传输层,而IP位于网络层。 ## tcp和udp的区别 1. TCP是流式报文,而UDP是数据包式报文; 2. TCP是面向连接的,而UDP是面向无连接的; 阅读全文
posted @ 2023-08-14 16:50 suntl 阅读(49) 评论(0) 推荐(0) 编辑
摘要: ## 线程、进程的区别 线程:CPU调度的最小单元 进程:进行中的程序,资源分配的最小单元 ### 线程和进程的区别及联系: 1. 一个进程可以有多个线程,但至少要有一个进程 2. 多个进程共享一个进程中的所有资源,而多个进程之间是没有联系的 3. 一个进程中的某一线程中断,会造成整个进程的退出或者 阅读全文
posted @ 2023-08-14 15:13 suntl 阅读(172) 评论(0) 推荐(0) 编辑
摘要: ## C++的特征有那些 ### 封装 将同类型事物的属性和方法进行抽象,并对其进行封装。 ### 继承 子类继承父类的,实现代码的可扩展性。继承分为单继承、多继承以及菱形继承(菱形继承可通过虚函数进行实现) ### 多态 #### 定义 在基类前添加virtual关键字,在派生类中重写该函数,程序 阅读全文
posted @ 2023-08-11 16:16 suntl 阅读(19) 评论(0) 推荐(0) 编辑
摘要: ## C和C++的区别 1. C++是C的超集,C是面向过程化的结构性语言,而C++是面向对象的编程语言 2. C语言更偏向于底层,使用较为灵活,可移植性强,而C++更偏向于上层,可扩展性强,对于大型项目往往使用C++ 3. C++在C语言的基础上提出了STL标准模板库,函数模板等特性 ## sta 阅读全文
posted @ 2023-08-10 14:59 suntl 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 原因 经常在使用Python的时候需要安装各种模块,而pip是很强大的模块安装工具但是由于国外官方默认pip访问速度慢,经常被墙,导致无法安装,所以我们最好是将自己使用的pip源更换一下,这样就能解决被墙导致的装不上库的烦恼 USER_BASE 和 USER_SITE 其实就是用户自定义的启用Pyt 阅读全文
posted @ 2019-07-28 15:44 suntl 阅读(14489) 评论(0) 推荐(0) 编辑
摘要: 爬虫是一个比较容易上手的技术,也许花5分钟看一篇文档就能爬取单个网页上的数据。但对于大规模爬虫,完全就是另一回事,并不是1*n这么简单,还会衍生出许多别的问题。 系统的大规模爬虫流程如图所示。 先检查是否有API API是网站官方提供的数据接口,如果通过调用API采集数据,则相当于在网站允许的范围内 阅读全文
posted @ 2019-07-22 00:31 suntl 阅读(713) 评论(0) 推荐(0) 编辑
摘要: 所需工具: 1、chorme内核浏览器,如Chorme、Firefox等等 2、vlc视频播放器 准备工作完成,开始工作 1、打开优酷的随便一个视频 2、按下F12选择Network(网络)选择Media(媒体),可能一次刷不出来,多尝试几次就OK啦 3、复制链接地址(红框部分) 4、启动vlc,打 阅读全文
posted @ 2018-11-27 23:08 suntl 阅读(511) 评论(0) 推荐(0) 编辑
摘要: C语言变长数组data[0] 1、前言 今天在看代码中遇到一个结构中包含char data[0],第一次见到时感觉很奇怪,数组的长度怎么可以为零呢?于是上网搜索一下这样的用法的目的,发现在linux内核中,结构体中经常用到data[0]。这样设计的目的是让数组长度是可变的,根据需要进行分配。方便操作 阅读全文
posted @ 2018-10-20 10:31 suntl 阅读(2892) 评论(0) 推荐(0) 编辑
摘要: 目前使用过的各大厂商取流规则是在实际的工作中遇到的相关视频接入问题,通过rtsp协议接入视频数据的一些记录,其中的图片可能来源于网络,内容部分来源于网络,本人仅仅是对相关内容作了汇总。 海康RTSP取流URL格式 备注: VLC 可以支持解析 URL 里的用户名密码,实际发给设备的 RTSP 请求不 阅读全文
posted @ 2018-09-03 14:48 suntl 阅读(6092) 评论(0) 推荐(1) 编辑
摘要: While using the apt-get command or the relatively new APT package management tool in Ubuntu Linux or its derivatives such as Linux Mint (which I actua 阅读全文
posted @ 2018-02-07 18:05 suntl 阅读(236) 评论(0) 推荐(0) 编辑
摘要: C语言指针5分钟教程 指针、引用和取值 什么是指针?什么是内存地址?什么叫做指针的取值?指针是一个存储计算机内存地址的变量。在这份教程里“引用”表示计算机内存地址。从指针指向的内存读取数据称作指针的取值。指针可以指向某些具体类型的变量地址,例如int、long和double。指针也可以是void类型 阅读全文
posted @ 2017-01-16 17:28 suntl 阅读(615) 评论(0) 推荐(0) 编辑