-no-pie的用途是什么?

问题描述 投票:9回答:1

我正在使用GPROF在Ubuntu 17.10上进行一些c文件测试,当我使用gprof执行所生成的文件(gmon.out),使用-pg选项进行编译和链接时,我得到了一个空的平面图和调用图。但是,我发现这是一个gcc错误,我将不得不使用-no-pie编译和链接文件。

  • 编译:gcc -c main.c文件-1.c文件-2.c -pg [-no-pie]

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

我有gcc 7.2版本。

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

c testing gcc profiling gprof
1个回答
4
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.