程序 tar.gz 安装包中有多个文件。我应该编译哪些?

程序 tar.gz 安装包中有多个文件。我应该编译哪些?

我下载了一个 tar.gz 文件,将其解压缩,发现其中有 3 个文件:Makefileprogram.cprotocol.h
在 gedit 中打开了它们,Makefile其中只包含一行program : program.c protocol.h ,我program.c认为其中有一个主程序(很多行)
并且protocol.h只定义主要变量(只有#define行和等shortchar我应该只编译program.c,还是protocol.h也编译?还是全部编译?

答案1

你不需要编译头文件(尽管可以这样做),你可以编译源文件可能包含一些头文件,但所需的头文件是否已包含在源文件中,这不是(或不应该)由您决定,而是由开发人员决定:如果program.c编写正确,它将在其#include语句中列出所需的头文件,然后在编译进行之前,预处理器将在预处理时用相应头文件中包含的行替换这些头文件:因此要编译它,只需使用make

make

或者gcc

gcc program.c

但如果你真的想确保protocol.h已经包含在内,program.c你可以运行:

grep protocol.h program.c

并且如果命令返回#include "protocol.h"protocol.h则已纳入program.c

相关内容