Linux使用Clang链接libc++运行时

在Linux上,一般情况下都会使用GCC和libstdc++,因为他们之间有特殊优化,如果使用Clang编译,性能不会比GCC高,因为默认情况下Clang编译出来的程序也是链接的libstdc++,而Clang的正统在libc++上 运行环境 docker run -it --rm ubuntu b


跨平台/架构编译

使用docker环境编译 使用alpine镜像,alpine系统包含各个系统架构的镜像,alpine使用的是musl libc alpine - Official Image | Docker Hub docker run可以通过--platform=linux/amd64指定镜像的架构(前提是镜像


gcc docker 编译环境

使用docker gcc编译,静态链接运行时 编写Dockerfile FROM gcc:13 RUN apt update \ && apt install gcc clang make ninja-build cmake gdb git -y \ && apt clean 使用VSCod


boost编译

Boost编译 下载源码 Boost C++ Libraries 安装Python环境 Download Python | Python.org


Linux修改、打包依赖路径(rpath)

1. 通过环境变量修改 # 必须是绝对路径 export LD_LIBRARY_PATH=$(pwd) 2. 编译时指定rpath # 将rpath指定为当前目录 gcc test.c -L . -lhello -Wl,-rpath,'.' 3. 通过chrpath或patchelf修改 su


Goland中使用Makefile

Windows Goland使用Makefile 安装Chocolatey 管理员打开powershell 执行Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityPr


CMake编译Android iOS库

CMake编译Android/iOS库 CMakeLists.txt project(RayStreamNet) cmake_minimum_required(VERSION 3.1) add_compile_options(-fvisibility=hidden -std=c++14 -fPIC


golang交叉编译

golang交叉编译 demo test package main import ( "fmt" "runtime" ) func main() { fmt.Println("Test os") fmt.P