KalosAner Blog

「山穷水复疑无路,柳暗花明又一村。」

IP 地址与域名之间的转换

1、通过域名获取 IP 地址 一般客户端程序不能要求用户输入 IP 地址和 port,但是服务端程序的 IP 地址有可能变化。但是一般情况域名一旦注册可能永久不变,因此可以利用域名编写程序会更好。每次运行程序时根据域名获取 IP 地址,再接入服务器,这样程序就不会依赖于服务器 IP 地址了。 利用域名获取 IP 地址可以使用以下函数 1 2 3 4 5 6 7 8 9 10 11 12...

Ubuntu 新机必备软件

一、引言 经常使用 Ubuntu 虚拟机,但是有时候虚拟机会崩溃,然后就需要重装。重装 Ubuntu 虚拟机经常会忘记应该装哪些软件,或者忘记安装过程,所以本文总结一下可能会用的软件以及其安装过程。 二、软件 主要使用命令行安装,安装的时候不要一次性复制所有的命令,因为有的安装过程需要输入 Y(es)。 1、ssh:远程连接 1 2 3 4 5 sudo apt update # ...

Ubuntu 虚拟机磁盘不足,无法启动

一、引言 虚拟机磁盘不足,关机之后在虚拟机设置里扩展了 10G 磁盘,但是无法开机了。 二、进入 recovery mode 重启虚拟机,过程中一直按着 shift 不放。 然后进入 Advanced options,如下 然后进入 recovery mode,不过好像进去其他模式也没啥影响,这一步需要等待一会儿。 进入 root 模式,然后输入密码。 三、挂载 ...

Ubuntu 上自定义安装配置 neovim

一、引言 本文配置使用的是自定义配置,适用于 C++ 开发。 二、安装 1、安装 NeoVim 1 2 3 4 5 sudo apt-add-repository ppa:neovim-ppa/unstable sudo apt update sudo apt install neovim sudo apt install clangd -y sudo apt install lua...

TCP 与 UDP 基础

一、引言 TCP 和 UDP 都是传输层协议,意味着其都是控制传输的协议。这里的传输并不是从 A 地到 B 地的传输,而是忽略掉网络层及其之下层之后的端口到端口的传输,至于从 A 地到 B 地的传输则由网络层 IP 协议进行寻路和传输。TCP 和 UDP 主要做的是控制从端口到端口的传输过程,隐藏具体寻路细节,但是考虑寻路过程可能发生的丢包。 TCP 和 UDP 都会用到 bind 函数...

STM32、ESP32、Arduino、单片机和树莓派之间的关系

微控制器 首先介绍一下微控制器,微控制器(MCU,Microcontroller Unit)是一种嵌入式系统的核心器件,通常集成了中央处理器(CPU)、存储器(RAM和ROM)、输入输出接口(I/O)以及外设(如定时器、串口、ADC/DAC等),是一个高度集成的小型计算机,通常可以独立运行程序。 单片机 单片机,又名单片微控制器,是一种在单个芯片上集成了处理器、存储器和输入/输出接口的...

Arduino、arm、树莓派、单片机四者区别和关系

很多初学者搞不清Arduino、arm、树莓派、单片机这几个的区别。 其实拿这4者来比较本身就是一件错误的事。 这四者就像:大众、12缸发动机、保时捷、小汽车的区别。 从一开始方向就走错了,以为学习嵌入式上述所有东西都要学。 好不容易熬了几个月,感觉还是一无所成,做不出什么项目,经常会感觉懂了又好像什么都不懂。 这就是定位不够精准导致的,把精力都分散出去了,最后没一个能拿的出手的。...

套接字、协议族与地址族

一、套接字 无论在 Linux 上还是 Windows 上,创建套接字时都会同时 I/O 缓存区,并且每个套接字都有独立的 I/O 缓存区。关闭套接字会继续传输输出缓存区中的数据,但是会丢失输入缓存区中的数据。 Linux Linux 下使用 socket 函数创建一个套接字,该函数定义在 sys/socket.h 头文件下,调用成功返回一个套接字描述符。Linux 有一个哲学就是“...

Windows 开发网络程序之 ws2_32.lib

环境 Visual Studio 2022 Windows 10 准备 导入头文件 winsock2.h 链接 ws2_32.lib 库 链接库 使用 VS 链接库 打开项目的“属性”→“配置属性”→“链接器”→“输入”,然后点击“附加依赖项”右侧进行编辑。 然后输入 ws2_32.lib 。 使用 VS code 链接库 使用 VS code 运行可以使用 ...

Visual Studio 2022 修改字体和背景颜色

一、引言 VS 默认的字体非常难看,而且 l 和 1 除了颜色之外一摸一样很难分清。 二、修改字体 1、首先打开 VS,我这里使用的是 VS2022。如下图所示,然后点击 Create a new project (创建新项目),这里也可以不创建代码,但是不创建代码修改完字体不方便查看效果。 然后随便创建一个新项目就行。 2、为了方便查看效果,可以在 Source Files ...