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

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


Podman配置arm环境

在x86环境运行arm环境的容器 Windows Docker 在windows上 Docker Desktop 已经内置了 binfmt_misc,参考Multi-platform images | Docker Docs 因此只需要安装Docker Desktop就能运行 arm32或者arm6


跨平台/架构编译

使用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


解决WSL和SSH远程下无法翻译的问题

解决WSL和SSH远程下无法翻译的问题 找到vscode安装目录中的语法高亮文件resources\app\extensions 将syntaxes文件夹拷到远程机器 ~/.vscode-server\extensions\ms-vscode.cpptools-1.12.4-linux-x64路径中


Linux终端切换输出屏幕

使用 curses.h需要安装额外的库 // 开始 initscr(); curs_set(0); // 隐藏光标 // 结束 curs_set(1); // 显示光标 endwin(); 使用 printf ANSI Escape Codes (github.com) printf("\e[?


WSL自启动ssh

WSL自启动ssh服务 打开计算机管理 选择启动程序 程序路径:%windir%\System32\bash.exe 参数:-c "echo 密码|sudo -S service ssh start" 找到刚刚创建的任务,点击属性</


Linux清理内存缓存

清空缓存 清空缓存 仅清除页面缓存(PageCache) sync; echo 1 > /proc/sys/vm/drop_caches 清除目录项和inode sync; echo 2 > /proc/sys/vm/drop_caches 清除页面缓存,目录项和inode sync; echo


Linux安装zsh

安装 zsh是针对当前用户环境的,如果要设置主题,需要在 HOME 目录单独配置 # 安装zsh sudo apt install zsh # 安装 oh my zsh sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh


pthread中断

中断/终止线程执行 #include <memory.h> #include <pthread.h> #include <signal.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <thread>


go linux环境配置

linux环境配置 vi ~/.profile export GOROOT=/usr/local/go export GOPROXY=https://goproxy.cn,direct export GO111MODULE=on export GOPATH=$HOME/go PATH=$PATH


查看系统共享内存

查看系统共享内存 Windows 下载 AccessChk AccessChk - Windows Sysinternals | Microsoft Docs 管理员权限执行命令 accesschk.exe -osv > objects.txt 打开 objects.txt 文件 搜索 Type:


go重定向输出崩溃堆栈

go重定向输出崩溃堆栈 windows // +build windows package log import ( "os" "syscall" "github.com/sirupsen/logrus" ) var ( crashFile *os.File kern


Linux挂载Windows共享路径

挂载Windows共享路径 安装 nfs-utils yum install nfs-utils -y 挂载路径 mount -t cifs -o username='Gwkang',password='passwd' //192.168.0.100/Work ~/work


WSL配置

WSL配置 旧版 WSL 的手动安装步骤 | Microsoft Docs WSL 中的高级设置配置 | Microsoft Docs 修改安装路径 停止运行 wsl --shutdown 查看已安装的linux发行版本 wsl -l


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

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


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