自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 海康实习总结

海康实习总结为期三个月的实习过的很快,也学到了很多,本人去实习的岗位是杭州海康威视汽车电子部门嵌入式软件开发工程师DSP组,

2023-08-11 11:27:19 635 2

原创 实习总结(第十周)

特别提醒:使用access()作用户认证方面的判断要特别小心,例如在access()后再做open()的空文件可能会造成系统安全上的问题。用于判断文件是否存在可以使用 r 或者 rb ,因为使用 其它方式的话,可能会自动建立文件。用于判断文件夹是否存在的时候,mode取0,判断文件是否存在的时候,mode可以取0、2、4、特别提醒:用这种方法做出的判断是不完全正确的,因为有的文件存在,但是可能不可读。type:打开文件的方式(有r、w、r+、w+、a、rb、wb等等)ENOMEM 核心内存不足。

2023-08-01 11:36:11 98 1

原创 Linux内核

Linux内核的作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。init进程是进程树的根,所有的进程都直接或者间接起源于该进程。init进程是进程树的根,所有的进程都直接或者间接起源于该进程。2. 其它非核心代码,例如库文件(因为Linux内核是一个自包含的内核,即内核不依赖其它的任何软件,自己就可以编译通过)、固件集合、KVM(虚拟机技术)等。2.从应用程序的层面讲,应用程序与硬件没有联系,只与内核有联系,内核是应用程序知道的层次中的最底层。

2023-07-27 15:41:26 112 1

原创 实习总结(第九周)

fmod()可以对浮点型数据进行取模运算,后一个数可以为0,返回NaN(NaN,是Not a Number的缩写,用于处理计算中出现的错误情况,比如 0.0 除以 0.0 或者求负数的平方根)。使用回调函数可以避免阻塞程序的运行,提高程序的性能和效率。另外,回调函数还可以实现代码的复用,因为它们可以被多个地方调用。回调函数是一种特殊的函数,它作为参数传递给另一个函数,并在被调用函数执行完毕后被调用。回调函数是一种常见的编程技术,它可以在异步操作完成后调用一个预定义的函数来处理结果。返回x除以y的余数。

2023-07-26 10:07:37 83 1

原创 实习总结(第八周)

所有的parameters都是以sections为单位结合在一起的。所有的section名称都是独占一行,并且sections名字都被方括号包围着([ and ])。在section声明后的所有parameters都是属于该section。对于一个section没有明显的结束标志符,一个section的开始就是上一个section的结束,或者是end of the file。Sections一般情况下不能被nested,当然特殊情况下也可以实现sections的嵌套。

2023-07-17 16:17:03 75 1

原创 实习总结(第七周)

事务是并发控制的单位,是用户定义的一个操作序列。有四个特性(ACID):原子性(Atomicity): 事务是数据库的逻辑工作单位,事务中包括的诸操作要么全做,要么全不做。一致性(Consistency): 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。隔离性(Isolation): 一个事务的执行不能被其他事务干扰。持续性/永久性(Durability): 一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。

2023-07-14 16:27:42 74 1

原创 实习总结(第六周)

函数 fwrite() 用法,什么是内存泄漏?C语言形参和实参的区别,static关键字用法详解,fread函数详解

2023-07-04 18:41:34 54

原创 实习总结(第五周)

简单说就是整数除以16取余,直到商为0为止,然后从最后一个余数读到第一个。十六进制转化为十进制计算方式,按权展开、相加即得十进制数。

2023-06-26 11:59:52 63 1

原创 实习总结(第四周)

new会先调用operator new函数,申请足够的内存(通常底层使用malloc实现)。然后调用类型的构造函数,初始化成员变量,最后返回自定义类型指针。delete先调用析构函数,然后调用operator delete函数释放内存(通常底层使用free实现)。malloc/free是库函数,只能动态的申请和释放内存,无法强制要求其做自定义类型对象构造和析构工作。

2023-06-20 13:54:40 57 1

原创 实习总结(第三周)

goto语句可以使程序在没有任何条件的情况下跳转到指定的位置,所以goto语句又被称为是无条件跳转语句。它的语法如下goto label;//其它代码label:其中,label为我们自己定义的一个标签,定义的规则与变量的命名相同,它的位置是不固定的,它可以写在goto语句的后面,也可以写在它的前面,然而goto语句只能在一个函数内部跳转,它并不允许跳转出一个函数外部。

2023-06-12 18:46:57 75 1

原创 实习总结(第二周)

抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。SDK 就是 Software Development Kit 的缩写,中文意思就是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。

2023-06-09 10:57:49 531

原创 实习总结(第一周)

(1)很多人都会说操纵lcd显示就是操纵framebuffer,表面上来看是这样的。

2023-05-29 11:28:44 73 1

原创 笔记(海康笔试)

用 rmmod 卸载一个内存模块。互斥锁的加锁和解锁必须由同一线程分别对应使用;互斥锁只能为0/1;互斥锁用于线程的互斥。互斥量用于线程的互斥,信号量用于线程的同步。这是互斥量和信号量的根本区别,也就是互斥和同步之间的区别;互斥量值只能为0/1,信号量值可以为非负整数。也就是说,一个互斥量只能用于一个资源的互斥访问,它不能实现多个资源的多线程互斥问题。信号量可以实现多个同类资源的多线程互斥和同步。当信号量为单值信号量是,也可以完成一个资源的互斥访问;

2023-05-08 21:22:54 74

原创 TCP的拥塞控制

2>. 由于发送方现在认为网络很可能没有发生拥塞,因此与慢开始不同之处是现在不执行慢开始算法(即拥塞窗口cwnd现在不设置为1),而是把cwnd值设置为 慢开始门限ssthresh减半后的数值,然后开始执行拥塞避免算法(“加法增大”),使拥塞窗口缓慢地线性增大。另,慢开始的“慢”并不是指cwnd的增长速率慢,而是指在TCP开始发送报文段时先设置cwnd=1,使得发送方在开始时只发送一个报文段(目的是试探一下网络的拥塞情况),然后再逐渐增大cwnd。拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。

2023-04-11 20:57:51 1007

原创 STL简介(十分钟快速了解)

C++STL数据结构(十分钟快速入门)

2023-04-03 21:55:28 2863

原创 恒生C++实习生笔试

而对于int类型的num,由于其占用的字节数是4字节,因此需要将结构体的偏移量调整到4的倍数,即在type后面添加3个填充字节,使得num从第5个字节开始,这样就满足了按照4字节对齐的要求。B和C操作都是对变量x进行加1的操作,如果多个线程同时执行这些操作,就可能导致多个线程都读取了变量x的同一个值,然后都对这个值进行了加1的操作,最终结果可能不是我们期望的结果。其中,type是1字节,num是4字节,name是10字节,因此,总共占用的字节数为1 + 4 + 10 = 15字节。因此,正确答案是C。

2023-04-03 20:19:03 1021 1

原创 TinyWebServer笔记

Linux下C++轻量级Web服务器,助力初学者快速实践网络编程,搭建属于自己的服务器。使用 线程池 + 非阻塞socket + epoll(ET和LT均实现) + 事件处理(Reactor和模拟Proactor均实现) 的并发模型使用状态机解析HTTP请求报文,支持解析GET和POST请求访问服务器数据库实现web端用户注册、登录功能,可以请求服务器图片和视频文件实现同步/异步日志系统,记录服务器运行状态经Webbench压力测试可以实现上万的并发连接数据交换源码。

2023-03-27 20:12:46 302

原创 socket(PF_INET, SOCK_STREAM, 0);

虽然可以对同一个协议家族(protocol family)(或者说通信域(domain))指定不同的协议参数,但是通常只有一个。对于TCP参数可指定为IPPROTO_TCP,对于UDP可以用IPPROTO_UDP。2、type 指明通信类型,最常用的如SOCK_STREAM(面向连接可靠方式, 比如TCP)、SOCK_DGRAM(非面向连接的非可靠方式,比如UDP)等。1、参数domain指明通信域,如PF_UNIX(unix域),PF_INET(IPv4),PF_INET6(IPv6)等。

2023-03-27 16:39:20 422

原创 C++ TinyWebserver 部署到Linux下,并运行(Vmware的虚拟机Ubuntu20.04)

1. Tinyweb server项目地址:https://github.com/qinguoyi/TinyWebServer。首先查询Ubuntu的ip地址(ifconfig查看),然后使用浏览器:输入ip(查到的ip地址):9001(打开的端口号)编译Tinywebserver,首先需要确认main.cpp里的数据库和你mysql数据库配置相同。(make时出现mysql.h找不到的报错,mysql.h:没有那个文件或目录编译中断。然后打开main.cpp修改对应配置。配置项较多,全翻译成中文。

2023-03-24 16:15:26 841 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除