无法获取makefile来生成gmon.out

 倩女墨镜aaaaa_259 发布于 2023-02-13 16:38

我试图描述我的代码,因为我无法弄清楚是什么减慢了它.我有以下makefile:

CXX=gcc
RM=rm -f
CFLAGS=-pg -DNDEBUG -O3 -g3 -O0 -D_FILE_OFFSET_BITS=64
LDFLAGS=-pg -lpthread `pkg-config fuse --cflags --libs`
EXEC = fs

SRCS=$(shell echo *.c)
OBJS=$(subst .c,.o,$(SRCS))

all: $(EXEC)

$(EXEC): $(OBJS)
        $(CXX) $(LDFLAGS) -o $(EXEC) $(OBJS)

%.o: %.c
        $(CXX) $(CFLAGS) -c -o $@ $^

clean:
        $(RM) *.o
        $(RM) $(EXEC)

产生这个输出:

gcc -pg -DNDEBUG -O3 -g3 -O0 -D_FILE_OFFSET_BITS=64 -c -o datablock.o datablock.c
gcc -pg -DNDEBUG -O3 -g3 -O0 -D_FILE_OFFSET_BITS=64 -c -o disk.o disk.c
gcc -pg -DNDEBUG -O3 -g3 -O0 -D_FILE_OFFSET_BITS=64 -c -o fsinterface.o fsinterface.c
gcc -pg -DNDEBUG -O3 -g3 -O0 -D_FILE_OFFSET_BITS=64 -c -o inode.o inode.c
gcc -pg -DNDEBUG -O3 -g3 -O0 -D_FILE_OFFSET_BITS=64 -c -o main.o main.c
main.c:19: warning: initialization from incompatible pointer type
gcc -pg -DNDEBUG -O3 -g3 -O0 -D_FILE_OFFSET_BITS=64 -c -o mkfs.o mkfs.c
gcc -pg -lpthread `pkg-config fuse --cflags --libs` -o fs datablock.o disk.o fsinterface.o inode.o main.o mkfs.o
[root@ip-10-2-176-50 fusefilesystemclean]# gprof fs
gmon.out: No such file or directory

而且我似乎无法获得要生成的gmon.out文件.我不是很好wuth Makefiles.有人能帮我吗?

谢谢.

1 个回答
  • 在运行程序之前,不会创建gmon.out文件.

    -pg开关只是添加调用以在程序运行时创建gmon.out文件.

    运行你的程序:

    fs
    

    然后运行gprof:

    gprof 
    

    阅读gprof的手册页

    2023-02-13 16:41 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有