随笔分类 - linux开发
摘要:1. 需求 主系统:win10 子系统:ubuntu18.04,要求wsl1,并且系统默认登录账户为没有密码的root根账户 2. 步骤 (1)启用“适用于 Linux 的 Windows 子系统”可选功能 在Windows中修改配置 1.在设置中打开 “开发人员模式” 在控制面板中打开程序与功能,
阅读全文
摘要:0 why: 问题来源 0.1 网络编程流程 //创建socket int s = socket(AF_INET, SOCK_STREAM, 0); //绑定IP地址和端口号port bind(s, ...) //监听客户端连接 listen(s, ...) //接受客户端连接 int c = ac
阅读全文
摘要:缘由 2K分辨率屏幕在虚拟机ubuntu18.04下显示字体太小 方法:安装gnome-tweaks 更新软件源:sudo apt-get update 安装:sudo apt-get install gnome-tweaks 打开软件:gnome-tweaks 对图中红框部分进行设置,具体数值可以
阅读全文
摘要:0.问题: warning: ‘WebServer::openLinger_’ will be initialized after [-Wreorder] 1.原因 变量的声明顺序,和初始化顺序不一致导致, 2.解决方法 更改变量的声明顺序,使其与初始化顺序一致
阅读全文
摘要:0.背景 最近在学习linux webserver开发,需要在linux下调试自己的C/C++代码,但是linux下不像在windows下,直接Visio Studio或者其它集成开发环境那么方便,现在的linux下开发,比较麻烦。于是可以考虑使用VScode远程开发。但是网上的很多教程都不是很清晰
阅读全文
摘要:1.问题来源 我需要在C++的一个类内函数进行缺省参数处理,声明和定义分别分布在.h文件和.cpp文件中,这里如何进行缺省处理就是一个问题,而网络上很多对这种情况说明的不太好,于是就有了这篇文章。 2.正确做法 在.h文件声明函数时,直接写上缺省值,在.cpp文件中不写缺省值。 例如: Cal.h中
阅读全文
摘要:0.前言 现在介绍ROS基本程序实现的教程有很多,步骤无非就是建工作空间,编译,创建功能包,创建文件和修改CMakeList,之后再编译、运行程序这几步。但是这些教程中很多在文件夹切换的很混乱,导致会出现一堆奇奇怪怪的错误,其实只要注意你操作的文件夹位置,很多问题都不是问题。这也是博主为什么写这篇文
阅读全文
摘要:前言 最近看到一个不错的webserver项目,但是配置过程给的不详细,这里给出详细配置过程 项目地址:https://github.com/Aged-cat/WebServer (感谢老猫大神的项目) 配置流程 在合适的位置下载源代码:git clone https://github.com/Ag
阅读全文
摘要:0.前言 由于需要在GitHub下载代码,而国内访问受限,可能会出现一些问题,这里建议使用github国内镜像,参看:GitHub国内镜像网站,当然下面会给出具体解决方案。 1.步骤 1.1下载源码:git clone https://github.com/PX4/PX4-Autopilot.git
阅读全文
摘要:0.注意 该篇文章为了让大家尽快看到效果,代码放置比较靠前,看代码前务必看下第4部分的基础知识。 1.数据库连接池 1.1 是什么? 数据库连接池负责分配、管理和释放数据库连接,属于池化机制的一种,类似的还有线程池等。 1.2 为什么用? 各种池化技术的使用原因都是类似的,也就是单独操作比较浪费系统
阅读全文
摘要:1.线程池 1.1 线程池是什么? 一种线程管理方式。 1.2 为什么用线程池? 线程的创建和销毁都需要消耗系统开销,当线程数量过多,系统开销过大,就会影响缓存局部性和整体性能。而线程池能够在充分利用内核资源的前提下,避免系统资源被过度调用。 1.3 如何设计线程池? 简单来说,在线程池中提前创建好
阅读全文
摘要:1.目的 客户端与服务器之间建立TCP/IP连接,我们知道是通过三次握手,四次挥手实现的,但是很多地方对这个知识的描述仅限于理论层面,这次我们通过网络抓包的方式来看一下实际的TCP/IP传输过程。 2.什么是抓包? 网络传输信息是通过层层打包,最终到达客户端物理层,经过网线等设备传输到服务器端后,再
阅读全文
摘要:1.GDB是什么? 想必很多人都用过windows下各种编译器软件的调试功能,例如Visio Studio里面“断点”、“开始调试”、“逐语句”、“逐过程” 这些功能在其他的编译器软件里名字可能不同,但功能都大同小异,都是为了能够跟踪程序的执行过程,从而监视程序中感兴趣的变量值等。但是在Linux系
阅读全文
摘要:1. 需求分析 实现一个回声服务器的C/S(客户端client/服务器server)程序,功能为客户端连接到服务器后,发送一串字符串,服务器接受信息后,返回对应字符串的大写形式给客户端显示。 例如: 客户端发送“this is a webserver example!", 服务器返回"THIS IS
阅读全文
摘要:1. 问题 Linux服务器客户端编写过程中报错: 2. 问题分析 gcc的c扩展与c标准有冲突 2. 解决方案 添加头文件#include <arpa/inet.h>
阅读全文
摘要:1.问题: 当使用Samba进行文件共享时,在windows端能够访问文件夹,可以读取里面文件,但是不可以往文件夹里写入内容, 报错:Samba目标文件夹访问被拒绝 你需要权限来执行此操作 2.问题分析 windows端通过Samba访问共享文件夹时,对于linux来说,相当于一个用户来访问,但是由
阅读全文
摘要:1. 需求分析 之前使用ubuntu进行ROS开发,而最近学习C++ Linux服务器编程,里面都涉及到对Linux的开发访问,第一次是使用的双系统,第二次使用的是虚拟机,这也是个人电脑实现Linux学习的两种方式。但是实际工业生产中Linux服务器往往部署在专门的机房,因此也就诞生了远程访问Lin
阅读全文