test1.c
#include <stdio.h>
void out();
int main(char*args[]){
    out();
    getchar();
    return 0;
}
test2.c
#include <stdio.h>
void out() {
    printf("test test");
}
$ gcc -c test1.c
$ gcc -c test2.c
$ gcc test1.o test2.o -o test
$ ./test
test test