首页 > 其他 > 详细

gcc小结

时间:2021-03-30 20:56:05      阅读:29      评论:0      收藏:0      [点我收藏+]

1.常用编译方式

例:# g++ main.cpp -o main_x64
采用 g++ [文件名] -o [可执行文件名] 的格式。

-g 添加gdb调试选项
-c 只编译不链接,只生成目标文件
-m32 编译32位程序

  • 编译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位的依赖

2.安全编译选项:

-Wall 编译后显示所有警告
-fpermissive 将不一致代码的诊断从错误降级为警告

NX:

-z execstack 禁用
-z noexecstack 启用,默认是启用的

Canary:

-fno-stack-protector 禁用
-fstack-protector 启用
-fstack-protector-all 全启用

RELRO:

-z norelro 禁用
-z lazy 部分启用
-z now 全启用

PIE:

-no-pie 禁用
-pie 启用

gcc小结

原文:https://www.cnblogs.com/ByeRose/p/14598420.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!