年度归档: 2024年

2 篇文章

C语言基础:指针偏置,记录一次低级错误
最近写项目碰到了一些成员特别多的结构体,里面的各个成员指针都要申请内存,然后又要管理释放,比较常用的做法:直接一起申请一大块,就像struct* A = malloc(size_struct_A + size_member_A.x + size_member_A.y...),然后将成员指针偏置过去。这样最后就只要释放一处就行了,不会让代码显得很臃肿。 内存越界 这样写确实最后释放简洁了很多,但由于我的误操作,最后检查出有内存越界,指针越界访问了没有申请的内存。 也就是说我的成员指针并没有成功偏置到我申请的那一大块内存上。遂查看成员指针偏置的部分,发现我是这么写的,简化下类似以下 typedef…
内网穿透 FRP 服务器搭建
什么是 frp? frp 是一个用于实现内网穿透的高性能反向代理应用。它支持多种协议,包括 TCP、UDP、HTTP 和 HTTPS。允许您向 Internet 公开位于 NAT 或防火墙后面的本地设备。 frp 的基本原理 映射和转发:frp 的核心思想是将内网设备(客户端)的端口映射到公网设备(服务端)的端口上,实现流量转发。 基础设施:frp 需要两个核心设备: 服务端:拥有公网 IP 的设备,用于公网通信。 客户端:要访问的内网设备,将配置的公网映射端口告知服务端。 如何搭建 frp服务端 以下是简单的步骤来搭建 frp: 获取安装包 安装:首先,从官方发布仓库下载适用于你的操作系统的…