如何在-ggwin中将-pg传递给gcc

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在-ggwin中将-pg传递给gcc相关的知识,希望对你有一定的参考价值。

我只想测试-pg,源文件很简单,我的环境是cygwin,

$ uname -a 
CYGWIN_NT-10.0 SHA-LPLATOW 2.8.2(0.313/5/3) 2017-07-12 10:58 x86_64 Cygwin

$ vi pgtest.c

#include <stdio.h>
void main(void)
    printf("hello, world\n");        

没有-pg编译就可以了。

$ gcc -c pgtest.c
$ gcc -o pgtest.exe pgtest.o

但是-pg报告错误

$ gcc -pg -c pgtest.c
$ gcc -o pgtest.exe pgtest.o
pgtest.o:pgtest.c:(.text+0x1): undefined reference to `__fentry__'
pgtest.o:pgtest.c:(.text+0x1): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `__fentry__'
pgtest.o:pgtest.c:(.text+0xe): undefined reference to `_monstartup'
pgtest.o:pgtest.c:(.text+0xe): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `_monstartup'
collect2: error: ld returned 1 exit status

我试过LDFLAGS,它是一样的。

export LDFLAGS="-pg" ; gcc -o pgtest.exe pgtest.o
答案

来自gcc信息页面

'-pg' 生成额外的代码以编写适合分析程序'gprof'的配置文件信息。编译所需数据的源文件时必须使用此选项,并且在链接时也必须使用它。

因此,如果你想进行单独的编译和链接,你需要重复qazxsw poi

-pg

以上是关于如何在-ggwin中将-pg传递给gcc的主要内容,如果未能解决你的问题,请参考以下文章

如何将密码传递给pg_dump?

如何将 url-array-parameter 传递给 pg_execute

如何在链式函数中将选定元素传递给“this”

我如何知道哪些选项从 CMake 传递给 GCC?

如何在脚本中将变量传递给总计

如何将 JSON 数组(或 JSON 数组)传递给 pg 函数以插入到表中?