自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【VSCode】VSCode 使用

VSCode 使用,包括安装的插件以及一些配置。

2023-11-23 11:13:19 1227

原创 【Bazel】Bazel 学习笔记

记录 Bazel 使用过程中的一些知识点。

2023-11-14 00:20:13 776

原创 【类图】类图语法与类间关系简单介绍

简单介绍类图的语法以及类与类之间的关系。

2023-11-10 19:10:56 287

原创 【C++】gnustl_static 与 c++_shared 的区别

gnustl_static 与 c++_shared 的区别

2023-09-26 15:37:17 396

原创 【RPC】gRPC 安装及使用

本文记录下 Mac 安装 gRPC 的过程。

2023-09-18 19:37:02 522

原创 【Protobuf】Linux 下源码编译 Protobuf 库

本文记录如何在 Linux 下源码编译 Protobuf 库文件。

2023-07-19 20:55:30 845

原创 【Android】ARCore Sceneform 框架入门开发示例

ARCore Sceneform 框架入门介绍,以及基于 Sceneform 实现的一个简单的 AR demo。

2023-07-19 16:00:20 1032

原创 【Git】解决 git pull 提示 Permission denied (publickey) 的问题

解决 git pull 提示 Permission denied (publickey) 的问题。

2023-04-26 23:18:17 3826 1

原创 如何在 docker 容器中安装 ROS

本文记录在 docker ubuntu 18.04 环境下安装 ros 的过程。

2023-02-08 14:44:32 4040

原创 【已解决】Mac 无法使用 GDB 进行调试的问题

解决 Mac 无法使用 GDB 进行调试的问题。

2023-01-10 15:13:28 1220 1

原创 【C++】epoll + socket 网络编程实现一个简单的 server

本着学习 epoll 的心理,本文使用 epoll + socket 实现了一个简单的 server ,可以接收多个客户端的连接并与之通信。话不多说,直接上代码,完整的代码见。

2022-10-20 19:25:21 1686

原创 本机 Socket 进程间通信时数据包是否经过网卡

在进行 socket 通信的时候突然想到一个问题:自身既作为 client 又作为 server 时,数据包在传递过程中是否会经过网卡呢?先说结论:不经过。

2022-08-24 19:58:39 1645

原创 【C++】全局变量释放导致进程崩溃的解决方法

方法的线程)在退出时,全局变量(包括static和non-static的全局变量)会被释放,此时如果子线程仍在访问该全局变量,则有可能访问的是已经被释放的全局变量,从而有可能导致进程崩溃。可以看到程序出现了Segmentationfault的崩溃,原因就是全局变量。delete并置空之后,子线程仍在访问。在进行析构时,将其成员变量。,从而导致进程崩溃。解决方法上文已经给出。...

2022-08-02 10:55:03 1359

原创 【C++】Linux inotify 文件监控机制介绍及使用

使用 Linux 进行文件监控。Linux 提供的 是一种异步文件监控机制,可以用来监控文件系统的事件,包括访问、读写、权限、删除、移动等事件。 既可以监控单个文件,也可以监控整个目录,当监控的对象是一个目录的时候,目录本身和目录下的文件/文件夹都是被监控的对象。但是不能递归监控子目录,如果想要监控子目录下的文件,需要自己通过递归的方法将所有子目录都添加到监控中。此种机制出现的目的是当内核空间发生某种事件之后,可以立即通知到用户空间,方便用户对此做出相应的操作。 是一个内核用于通知用户空间程序文件系统变

2022-07-12 20:13:43 7601

原创 【CLion】CLion 总是提示 “This file does not belong to any project target xxx” 的解决方法

在使用 CLion 写 c++ 时,文件上方提示 “This file does not belong to any project target xxx” 时,可如下操作:但是在我的项目中,出现了不属于上述任何情况但是文件上方仍然提示 “This file does not belong to any project target xxx” 的问题,最终研究一番后这样解决:菜单栏 File -> Invalidate Caches… -> Invalidate and Restart.CLion 重启后不

2022-07-12 20:06:42 8549 2

原创 【Git】修改 github 仓库 commit 的邮箱地址以统计 contributions

最近频繁在 github 上提交 commit ,但是发现首页的 contributions 并没有越来越绿,查了下原因发现是因为我在 commit 时所使用的邮箱并不是 github 的登录邮箱,导致 commit 没有和我的 github 账户产生关联,所以没有被统计到 contributions 中。本文记录解决此问题的方法。从 github 本人账户下克隆一个你要统计 contributions 的仓库到本地:然后进入到此仓库目录中,输入 查看 commit 的邮箱地址,记录此邮箱地址,后文会用

2022-06-15 15:59:19 613

原创 【Protobuf】如何编译 Android Native 的 Protobuf 库

本文记录在实际使用中编译 Android Native 的 Protobuf 库的过程,以备不时之需。我是采用 NDK 的独立工具链的形式编译的。参考:How to use NDK to build Protobuf to run on Androidlinxu NDK编译protobuf方法2 各种NDK版本的编译方法文章目录1. 制作 NDK 独立工具链2. 下载 Protobuf 源码3. 编译 Protobuf1. 制作 NDK 独立工具链首先,基于NDK17制作一个独立工具链,

2022-02-14 20:06:42 2557 2

原创 【Docker】基于 NVIDIA TX2 设备制作 docker 镜像

基于 TX2 设备,制作一个使用到深度学习模型的应用的镜像(docker 镜像),这样设备出厂时或其他人可以直接安装这个镜像,无需我们再次调试即可直接运行该应用。本文记录制作镜像的过程。如果你的应用也用到 GPU 资源,那么这篇文章可能对你有所帮助,如果无需用到 GPU 资源,那么本文就是一篇普通的制作 docker 镜像的文章。1. 制作镜像制作镜像分为三步:编写 Dockerfile构建镜像导出镜像下面详细介绍各步骤。1.1 编写 DockerfileDockerfile 指令视

2021-12-03 16:09:57 909

原创 【Jpeg】不同平台如何编译 jpeg-turbo 库文件

本文介绍不同平台下如何编译 jpeg-turbo 库文件。Mac/Linux 平台Mac/Linux 平台编译 jpeg-turbo 库文件(libturbojpeg)的流程如下:下载 jpeg-turbo 源码源码 github 地址:libjpeg-turbo下载之后将分支切换到 2.0.5 版本(此处以 2.0.5 版本举例,其他版本需切换到对应分支):git clone https://github.com/libjpeg-turbo/libjpeg-turbo.gitcd lib

2021-11-17 20:30:02 2724

原创 【C++】C++ 类默认生成了哪些函数

本文主要是介绍 C++ 中的 构造、析构、赋值等运算。参考:《Effective C++ 3rd》Chapter 2目录文章目录目录在 C++ 中,如果没有自定义的话,编译器会默认生成如下函数:函数名默认构造函数拷贝构造函数拷贝赋值函数析构函数即,如果你写下:class A { };那么编译器会自动为类 A 生成如上函数(并且访问权限是 public 的):class A {public: A() = default; A(const A

2021-11-04 17:15:47 1167

原创 【C++】C++ 单例模式总结(5种单例实现方法)

C++ 单例模式的几种实现方式。

2021-11-04 11:12:52 89121 33

原创 协和医院(东单院区)就诊流程记录

记录下在北京协和医院(东单院区)看病的流程。文章目录1. 挂号2. 去医院3. 取号4. 看病1. 挂号可以在「北京协和医院」App 上挂号,每天下午 16:00 放之后一周的号,所以对于比较难抢的号,需要提前一周挂号。比如:今天周一,那么下午四点我可以抢下周一当天的号。在挂号时提前几分钟登录 app (因为一到下午四点由于很多人都在抢号所以 app 就会卡顿),提前选好医生的号,在下午四点一到就直接点击挂号页面的「立即预约」抢号。但是由于人比较多所以可能一次挂不上,需要耐心点儿多点几次。挂号成功

2021-10-13 16:42:34 4018

原创 【C++】C++ 如何进行代码覆盖率统计

C++ 覆盖率统计方法。

2021-09-23 16:06:38 2509

原创 【ProtoBuf】ProtoBuf 通过 proto 文件生成 cc/h 文件

本文简单介绍如何根据 protobuf 的 .proto 文件生成 C++ 使用的头文件和源文件。

2021-08-30 22:09:15 5419 1

原创 【C++】libgcc_s.so.1 must be installed for pthread_cancel to work

问题在 C++ 工程中,使用 dlopen() 函数打开一个动态库时,出现如下错误:2021-07-15 16:07:39 | dlopen() failed, lib: /mnt/aidot/libs/load/libAIDotBusiness.so, error: /mnt/aidot/libs/load/libAIDotBusiness.so: undefined symbol: _ZN8Workflow7finallyENSt7__cxx1112basic_stringIcSt11char_tr

2021-08-01 20:44:29 832

原创 【C++】HP-Socket 使用

1. HP-Socket 介绍HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 网络通信框架,提供 C/C++、C#、Java、Python 等编译语言接口。如果使用 HP-Socket 提供的 C++ 接口,需要使用 C++14 及以上的 C++ 版本。详细使用参考:HP-Socket 高性能网络通信框架伤神小怪兽 / HP-SocketHP-Socket GithubHP-Socket 官方例程解析HP-Socket 的 TCP 组件支持 PUSH、 PULL 和 P

2021-07-17 19:36:45 2089 1

原创 Linux 应用程序与 Android 应用程序之间如何通信

主题:Linux 应用程序与 Android 应用程序之间如何通信目录文章目录目录@[toc]前言方法1. Linux 端建立转发2. Android 端启动 server3. Linux 端启动 client前言本文前提条件:一台 Linux 设备一台 Android 设备Linux 设备与 Android 设备之间通过一根 USB 数据线物理连接在上述条件下,本文记录 Linux 应用和 Android 应用之间如何通信的步骤,仅供参考。方法参考:adb forward实现

2021-07-17 17:26:25 1482

原创 【C++】Linux 下使用 dlopen 加载动态库出现 Segmentation fault (core dumped)

背景最近需要运行时动态链接动态库,所以在代码中使用 dlopen() 函数动态加载动态库。同时,还存在一个动态库升级的业务背景,所以需要:先将升级的动态库下载到本地 upgrade 目录下然后进行版本号校验:判断 upgrade 目录下动态库的版本号是否高于本地 load 目录下的动态库的版本号,如是,则将 upgrade 下的动态库拷贝至 load 目录下最后 dlopen() 方式加载 load 目录下的动态库但是在操作过程中,动态库拷贝之后执行第 3 步时出现了 Segmentation

2021-07-06 15:17:02 2688

原创 【CMake】Make 命令无法正常执行

问题在 Linux 系统上使用 CMakeLists.txt 编译 C++ 项目时,执行 cmake 命令之后,再执行 make 命令出现了 make 命令不生效的问题。具体的现象是:cmake 命令可以正常执行,但是 make 命令执行时仍是 cmake 命令执行的结果,没有进行编译。一番操作之后发现是系统时间导致的问题,系统时间不正确(比当前时间滞后),导致 make 命令不能正确执行。解决方法更新系统时间为当前时间,然后重新 cmake && make 即可。设置 Linu

2021-06-18 11:14:24 6101 1

原创 【C++】nomember named ‘to_string‘ in namespace ‘std’

在使用 Android Studio 编写 C++ 代码时,出现如下错误:nomember named 'to_string' in namespace 'std'原因:这是因为 NDK 中默认使用的是最小的 STL 库,所以就会产生这个问题。解决方法:方法1:修改 gradle在 build.gradle 文件的 cmake 配置处配置 NDK 使用的 STL 库版本:externalNativeBuild { cmake { arguments "-DANDR

2021-05-08 15:58:25 5309

原创 【C++】C++11 vector 之 emplace_back() 使用场景简单剖析

emplace 关键字是 C++11 的一个新特性。amplace_back() 和 push_abck() 的区别是:push_back() 在向 vector 尾部添加一个元素时,首先会创建一个临时对象,然后再将这个临时对象移动或拷贝到 vector 中(如果是拷贝的话,事后会自动销毁先前创建的这个临时元素);而 emplace_back() 在实现时,则是直接在 vector 尾部创建这个元素,省去了移动或者拷贝元素的过程。但是 emplace_back() 的这个特性是在任何场景都生效的吗?本文

2021-03-11 22:05:03 38504 7

原创 设置 Android Studio 显示 Local Changes 标签页

参考:2020版本idea version control 不见了 解决办法新版的 jetbrains idea 的 Git 窗口就是之前的 Version Control 窗口,但是默认不显示 Local Changes 标签页,无法查看本地修改,很不方便,如何设置显示 Local Changes 标签页呢?方法如下:打开 Settings/Preferences/Version Control/Commit ,将 Use non-modal commit interface 选项 取消勾选 即.

2021-03-04 11:33:39 7217 4

空空如也

空空如也

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

TA关注的人

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