gpt4 book ai didi

c - -no-pie 有什么用?

转载 作者:太空狗 更新时间:2023-10-29 17:13:11 26 4
gpt4 key购买 nike

我正在使用 GPROF 在 Ubuntu 17.10 上使用 C 文件进行一些测试,当我使用 gprof 执行生成的文件(gmon.out),使用 -pg 选项编译和链接时,我得到了一个空的平面和调用图。

但是,我发现这是一个 GCC 错误,我必须使用 -no-pie 选项编译和链接该文件。

  • 编译:

    gcc -c main.c file-1.c file-2.c -pg [-no-pie]
  • 链接:

    gcc -o test main.o file-1.o file-2.o -pg [-no-pie]

我有 GCC 7.2 版本。

此选项如何工作?如果我不使用该选项,为什么图表为空?

最佳答案

该标志告诉 gcc 不要创建 position independent executable (馅饼)。 PIE 是启用地址空间布局随机化 (ASLR) 的先决条件。 ASLR 是一种安全功能,内核每次运行时都会将二进制文件和依赖项加载到虚拟内存的随机位置。

关于c - -no-pie 有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47778099/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com