自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 配置代理访问github和dockerhub的笔记

码农的工作离不开git和docker这两个工具,以及这两个工具配套的https://github.com和https://hub.docker.com网站。在国内,需要通过代理才能访问这两个网站。本文主要记录配置过程,日后重装电脑系统,可查看此笔记快速配置好工作环境。写笔记时间是2025年3年27日。时间太久后,此笔记的配置可能不再适用。

2025-03-28 00:13:02 885

原创 Ubuntu22.04开启ssh服务笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2025-02-25 20:21:56 501

原创 Docker构建jdk8镜像并运行jar包笔记

笔记时间:20250117。

2025-01-17 22:15:00 275

原创 在Kylin系统离线安装docker笔记

笔记时间:20250115我的操作系统版本Kylin Linux Advanced Server V10(Halberd)。docker官网文档有详细的步骤,防止日后访问不了docker官网,做笔记记录安装过程。

2025-01-15 23:00:00 341

原创 在ubuntu22.04安装docker笔记

​笔记时间:20241126官网文档地址https://docs.docker.com/engine/install/ubuntu/我的操作系统版本是ubuntu22.04。docker官网文档有详细的步骤,防止日后访问不了docker官网,做笔记记录安装过程。

2024-11-26 23:30:00 162

原创 make编译程序时自动把所有宏定义写到文件里的方法

本文通过修改makefile文件,实现自动导出编译代码过程中使用的所有宏定义。

2024-11-22 23:30:00 657

原创 使用makefile编译时自动在程序打印的版本信息里加上git提交信息的方法

在main()函数里调用print_git_commit_info()函数,使得程序运行时打印出git相关版本信息。print_git_commit_info()函数里的几个宏通过makefile里的gcc -D参数传入。如果每次make编译时,能够自动调用git命令更新.cpp源码文件里记录的软件版本信息,就可以确保一定能找到该可执行程序对应的源码。调试生成环境的程序,第一步就是根据程序打印的软件版本号信息去git仓库找到对应的代码。前提条件:编译电脑要安装并配置好git工具。

2024-09-13 23:00:00 260

原创 使用strace查看程序调用了哪些系统调用API

strace是一个在 Linux 系统下用于跟踪系统调用和信号的工具。通过 strace,可以看到进程是如何与内核交互的,包括哪些系统调用被调用、它们的参数是什么,以及它们的返回值。这对于调试和性能分析非常有用。

2024-05-24 23:45:00 595

原创 Linux常用的查看系统运行状态的工具

sar(System Activity Reporter):它可以从多方面对系统的活动进行报告,包括文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。想要每 5 秒刷新一次统计数据,并同时显示 CPU、磁盘、内存、网络和 I/O 的统计信息,可以将这些选项组合起来使用:dstat -cdmnys -t 5。使用 dstat -p 或 --proc 可以显示当前时刻的进程状态,如可运行态(就绪态)、无法中断的睡眠态(等待态)等。

2024-05-22 23:15:00 1248

原创 ubuntu 20.04 LTS 更换阿里云源

update命令作用是从配置的软件仓库中获取最新的软件包列表,但不会安装或升级任何软件包。upgrade用于升级系统上已安装的软件包到其最新版本。它只会升级当前安装的软件包,不会安装新添加的软件包或删除不再需要的软件包。如果想同时安装新软件包、升级已安装的软件包和删除不再需要的软件包,应该使用。

2024-05-20 00:49:43 1061

原创 在linux下查看C++写的.a库文件有哪些函数的方法

由于C++代码在编译时使用name mangling的规则对各种符号进行了重命名,objdump或nm输出的符号列表与代码里写的函数名称不好对应上。c++filt 是一个用于解析C++ name mangling的工具。将nm的输出传递给c++filt可以提高可读性。objdump是一个显示二进制文件信息的命令。可以用-t参数,显示.a文件的符号信息。nm 命令可以列出目标文件中的符号。

2024-05-17 23:30:00 368

原创 快速统计一个项目有多少行代码的方法

cloc(Count Lines of Code), 是一个专门用于统计项目代码行数的工具,它可以区分空行、注释等。这个简单命令会计算包括空行、注释和所有其他代码在内的总行数。

2024-05-15 23:00:00 273

原创 Ubuntu22.04下不产生core文件分析笔记

在Ubuntu22.04下有个程序不定期崩溃,但没产生core dump文件。本文记录分析和解决问题的过程。

2024-04-13 22:30:00 1368 1

转载 Linux系统调用表(system call table)

》《》《》《》《》

2024-04-12 23:57:05 433

原创 MQTT组件选型笔记

MQTT Broker是一种消息中间件,即MQTT服务器。主要负责接收和转发MQTT消息,以便客户端之间进行通信。MQTT Broker的主要功能包括:处理连接请求:管理来自客户端的所有连接请求,包括认证和授权。消息中转:接收来自客户端的发布消息,并将这些消息转发到订阅了相应主题的其他客户端。会话状态管理:跟踪客户端的会话以及连接状态,确保即便在网络不稳定时,消息也能可靠传递。服务质量保证:确保按照客户端请求的服务质量,将消息准确送达。

2024-04-03 23:00:00 928

原创 在windows10安装ffmpeg笔记

MSVC是微软自家的编译器,因此gyan.dev的版本可能更符合Windows标准,具有更好的兼容性和性能。MinGW是一个在Windows上提供GNU工具链的集合,它允许开发者在Windows上使用类Unix的开发环境,因此BtbN的版本可能更加开放和跨平台。上述步骤下载到ffmpeg-6.1.1-full_build-shared.7z文件后,解压到任意目录。CRF值越低,质量越高,文件越大。essential(简版)、full(适用于终端用户)和full-shared(适用于开发者)。

2024-03-23 10:00:00 338

原创 Ubuntu22.04安装samba笔记

在windows里可以像操作本地磁盘分区一样,对ubuntu通过samba共享出来的目录里的子目录和文件进行任何新增、删除、读写、执行操作。

2024-01-14 21:36:59 1457

原创 linux进程间通信使用共享内存踩坑笔记

老程序之所以能反复正常运行,是因为每次申请的共享内存key都一样,size都一样,调用shmget()函数,系统判断不存在key标识的共享内存则会新创建,存在则返回已有共享内存,不会报错。新程序和老程序的key一样,但新程序的size比老程序的size大。新程序调用shmget()函数,系统判断不存在key标识的共享内存则会新创建,此种情况新程序启动正常。如果系统存在key标识的共享内存,因为size比老程序大,所以shmget()函数会返回-1,此种情况新程序启动失败。如果失败,返回-1;

2023-07-18 11:07:00 281

原创 利用autossh实现对局域网内服务器的访问以及原理分析

前阵子用ssh反向代理,实现了在外地对局域网内服务器资源的访问的需求。详情见《利用SSH反向代理,实现对局域网内服务器的访问》。用了几天发现连接不稳定,即使SecureCRT设置了“反空闲”功能,也会偶尔出现A和B服务器断开连接的情况。一旦断线,B服务器不会主动连上A服务器,就没法用了。经过研究,用AutoSSH可以实现断线重连功能。前面的配置过程请看《利用SSH反向代理,实现对局域网内服务器的访问》。本文只记录autossh的配置过程。一、安装配置autossh autoss...

2021-07-30 18:00:45 417

原创 利用SSH反向代理,实现对局域网内服务器的访问

局域网里有台服务器,在路由器上把某个端口映射到路由器的公网IP上,出差在外时可以通过路由器的公网IP:端口获取局域网服务器的文件。最近不知为何,这招不灵了。通过研究,用SSH的反向代理,通过一台公网服务器中转桥接,实现了对局域网内服务器的访问。基本信息: 公网服务器A的IP地址是170.77.149.2(这只是举例,真是的IP当然不是这个)。 局域网服务器B的IP地址是192.168.1.8。 配置电脑C是笔记本电脑,暂时使用与B同网段的局域网IP:...

2021-07-26 20:36:02 3164 1

空空如也

空空如也

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

TA关注的人

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