gpt4 book ai didi

c - 带有两个 .c 文件且没有头文件的 Makefile

转载 作者:行者123 更新时间:2023-11-30 16:13:12 25 4
gpt4 key购买 nike

尝试编写一个包含两个 .c 文件但没有 header 的 makefile。然而,网上的例子似乎显示了带有标题的 makefile。

所以我尝试编写一个头文件,它会告诉我一个函数在其他地方重新定义了。我的 header 由两个 .c 文件中的函数声明组成。

#ifndef HEADER_H 
#define HEADER_H

void calc(void parameters);
int main(int argc, char* argv[]);

struct compArray
{
int start;
int end;
int thr;
int m;
int r;
};

#endif

我确信这不是您编写 header 的方式,但理想情况下我希望我的 makefile 没有 header 。下面是我的 Makefile:

all:    thr_atomic.o thr_reduce.o
gcc -o make thr_atomic.o thr_reduce.o -lm -pthread

thr_atomic.o: thr_atomic.c
gcc -c thr_atomic.c

thr_reduce.o: thr_reduce.c
gcc -c thr_reduce.c

是否可以创建没有 header 的 makefile?我的两个 .c 文件彼此独立。如果是这样,我该怎么做?如果没有,我会在 header.h 中放入什么来告诉计算机我的变量没有被重新定义并且彼此独立?

最佳答案

您可以使用以下 Makefile:

all: thr_atomic thr_reduce

thr_atomic: thr_atomic.c
gcc thr_atomic.c -lm -pthread

thr_reduce: thr_reduce.c
gcc thr_reduce.c -lm -pthread <newline>

但是,由于这两个程序似乎完全独立,我宁愿制作两个单独的 makefile。

关于c - 带有两个 .c 文件且没有头文件的 Makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58109784/

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