如何编译此代码?
/* main.c file*/
#include <stdio.h>
int main(void)
{
int c;
c = add(5,5);
printf("sum is %d\n",c);
return 0;
}
Add.c(在同一目录中)
/*add.c*/
int add(int a, int b)
{
int c;
c = a + b;
return c;
}
Add.h(在同一目录中)
/* add.h file*/
int add(int, int);
然后我为add.c创建一个目标文件
$ gcc -c -Wall add.c -I.
然后我尝试为main.c创建一个目标文件
$ gcc -c -Wall main.c -I.
main.c:6:2: warning: implicit declaration of function ‘add’ [-Wimplicit-function-declaration]
c = add(5, 5);
^
请任何人告诉,如何在编译时给出头文件名。
答案 0 :(得分:1)
您可以使用#include "Add.h"
顶部的main.c
(这是首选路由),也可以使用-include
命令行标记(不鼓励这样做,因为它确实如此)不规模且不便携):
gcc -c -Wall main.c -I. -include Add.h