例:# g++ main.cpp -o main_x64
采用 g++ [文件名] -o [可执行文件名]
的格式。
-g
添加gdb调试选项
-c
只编译不链接,只生成目标文件
-m32
编译32位程序
# dpkg --add-architecture i386
# apt update
# apt install gcc-multilib g++-multilib
-lcrypto
链接crypto密码类库
# apt install libssl-dev
x64架构,编译前安装64位的依赖# apt install libssl-dev:i386
x86架构,编译前安装32位的依赖-Wall
编译后显示所有警告
-fpermissive
将不一致代码的诊断从错误降级为警告
-z execstack
禁用
-z noexecstack
启用,默认是启用的
-fno-stack-protector
禁用
-fstack-protector
启用
-fstack-protector-all
全启用
-z norelro
禁用
-z lazy
部分启用
-z now
全启用
-no-pie
禁用
-pie
启用
原文:https://www.cnblogs.com/ByeRose/p/14598420.html