我总共有三个C文件。一个是头文件,两个是源文件。
.h文件称为.c,相应的源文件称为.hencryption.h有逻辑,但没有功能。我的第二个c文件叫做encryption.c。这里有一个encryption.c函数,它从main()调用方法。
我正在MacOSX上的终端中编译这些文件。我对如何编译这个感到困惑,我尝试了以下操作:

gcc -c main.c
gcc -c encryption.c
gcc -c encryption.h
gcc main.o encryption.o encryption.g.gch -o encrypt

但这似乎不起作用,它说我已经有一个预编译头。我试着在网上找到答案,我知道答案一定很简单,但我运气不太好。这里有什么问题?

最佳答案

不要编译头文件。头文件应该包含在源文件中(使用#include指令,在c中)。只需编译源文件并将它们链接在一起。有点像

gcc -c main.c
gcc -c encryption.c
gcc main.o encryption.o -o encrypt

或者,作为速记,
gcc main.c encryption.c -o encrypt

注意:如果您在编译时担心头文件的存在(或不存在),请使用gcc -E选项检查每个源文件的预处理输出。

09-16 10:33
查看更多