链接多个.c文件

时间:2014-03-23 21:04:21

标签: c linker makefile

我有一个名为first.c的C文件,我在其中定义一个数组并调用一个在名为second.c的C文件中定义的函数。这就是first.c的样子:

int main(void)
{
    int array[100];
    myFunc(*array);
}
另一方面,

second.c看起来像这样:

void myFunc(int array)
{
    ...
}

但是当我尝试编译这些时,second.c给了我错误,好像它不知道我作为参数传递给它的函数的数组。我想这个功能在链接阶段并不知道。我这样编译:

gcc -O2 -std=c99 -Wall -pedantic -lm second.c -c
gcc -O2 -std=c99 -Wall -pedantic first.c -c
gcc second.o first.o -o finished

但这就是我想出来的,当然它不起作用。我猜Makefile会到位,但我不确定如何实现它。

1 个答案:

答案 0 :(得分:4)

您的问题可能在于收到的值不是指针 - 因此将myFunc(int array)更改为void myFunc(int* array)