gpt4 book ai didi

c - 如何在 c make 文件中包含 clock_gettime

转载 作者:太空宇宙 更新时间:2023-11-04 01:57:45 24 4
gpt4 key购买 nike

我知道要使用 clock_gettime(2) 函数,您必须在 makefile 中包含 -lrt,但我不知道它在哪里。我会把它放在示例 makefile 的什么地方。

CFLAGS = -g -Wall -std=c99
CC = gcc

objects = example.o

example: $(objects)
$(CC) $(CFLAGS) -o example $(objects)

example.o: example.c
$(CC) $(CFLAGS) -c example.c
clean:
rm test $(objects)

编辑:我的 lrt 看起来如何。

enter image description here

enter image description here

我的代码是什么:

#include "stdio.h"
#include "stdlib.h"
#include <time.h>

int main(int argc, char *argv[]) {

struct timespec starttime, endtime;
double elapsed;
clock_gettime(CLOCK_REALTIME, &starttime);

/// work to be timed

clock_gettime(CLOCK_REALTIME, &endtime);
elapsed = ((endtime.tv_sec-starttime.tv_sec)*1000000000.0 + (endtime.tv_nsec - starttime.tv_nsec))/1000000000;
// elapsed time can also be calculated as
if (endtime.tv_nsec < starttime.tv_nsec) {
// borrow a second
elapsed = (endtime.tv_sec - starttime.tv_sec - 1) + (1000000000.0 + endtime.tv_nsec - starttime.tv_nsec)/1000000000;
}
else {
elapsed = (endtime.tv_sec - starttime.tv_sec ) + (endtime.tv_nsec - starttime.tv_nsec)/1000000000;
}
}

最佳答案

您想把它放在链接可执行文件的行上。即,指定 -o 选项的行。这就是执行链接器阶段的地方。

example: $(objects)
$(CC) $(CFLAGS) -o example $(objects) -lrt

关于c - 如何在 c make 文件中包含 clock_gettime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31708886/

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