当前位置: 首页 > 工具软件 > mold > 使用案例 >

使用mold链接器

钱照
2023-12-01

使用超级快的链接器: https://github.com/rui314/mold

更有效的算法和数据结构, 高度并行

安装

git clone https://github.com/rui314/mold.git
cd mold
git checkout v1.0.1
make -j$(nproc) CXX=clang++或者GCC,需要支持c++20的编译器
sudo make install

Makefile:

PREFIX ?= /usr/local

BINDIR ?= $(PREFIX)/bin

LIBDIR ?= $(PREFIX)/lib

LIBEXECDIR ?= $(PREFIX)/libexec

MANDIR ?= $(PREFIX)/share/man

PREFIX 指定路径,默认/usr/local

install后,mold在/usr/local/bin

在/usr/local/libexec/mold下会有软连接

使用:

Clang: -fuse-ld=mold

GCC 12.1.0 之后: -fuse-ld=mold

GCC 12.1.0 之前: -B/usr/local/libexec/mold

查看是否用mold链接的:readelf -p .comment

目前问题:

RHEL6.5 log4cxx、 protobuf3.0、mysqlpp 静态库链接后,程序启动后crash,用动态库可以解决

 类似资料: