CMake 库的默认类型与不支持动态库警告

构建库的默认类

在 CMake 中,添加库目标时,如果不指定库的类型(STATICSHARED),则会根据变量 BUILD_SHARED_LIBS 的值来决定库的类型。

BUILD_SHARED_LIBSON 时默认构建动态库,OFF 时则默认构建静态库。

BUILD_SHARED_LIBS 自身的默认值通常为 ON

查看全文

CMake 忽略第三方库的安装指令

通过 CMake 在项目中包含第三方库的源码时,如果直接包含,install 的时候会同时安装第三方库。如果不想安装第三方库,可以添加 EXCLUDE_FROM_ALL

1add_subdirectory(${目录} EXCLUDE_FROM_ALL)
查看全文

MySQL 全文索引

全文索引是一种对文本进行全文搜索的索引,类似搜索引擎的反向索引,可以大幅提升全文搜索的速度。但同时也会对插入性能造成较大影响。

创建全文索引

创建表时创建全文索引:

1undefined
查看全文

MySQL 数据库初始化

创建用户

首先通过root进行免密登录:

1sudo mysql
查看全文

MySQL 数据库基础命令

本文中尖括号 <> 表示占位符,方括号 [] 表示可选,而圆括号 () 则是 MySQL 语法的一部分。

数据库的操作命令

1-- 创建数据库
2CREATE DATABASE <数据库名>;
查看全文

Linux 64 位调用规约

调用规约是在关于程序调用和返回的约定,参考维基百科

x86_64

参数寄存器
整数或指针(1-6)RDI, RSI, RDX, RCX, R8, R9
浮点数(1-8)XMM0 - XMM7
查看全文

Docker 的安装和常用命令

安装 Docker

安装依赖

1sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

添加 docker 的 GPG key

查看全文

使用 Docker 配置交叉编译环境

  1. 首先 安装 Docker
  2. 然后下载 ubuntu 作为基础镜像 sudo docker pull ubuntu:20.04
  3. 启动容器 sudo docker run -h aarch64 --name aarch64 -it ubuntu:20.04

最新版 ubuntu 22.04 的 libc6-dev-arm64-cross 为 2.35,与目标平台上的版本 2.28 不兼容,因此使用 20.04 版本的镜像。

安装交叉工具链

查看全文