```
#include"header.h"

int main(){

    function();
    return 0;
}

```

above is simplified form of my code. I implemented function() in header.h file, and put it in the same directory with this code.c file.

I heard that "gcc -c code.c" is "compile but no linking" option, but this code need linking with header.h file. So I guess -c option will flag an error, while it didn't. Though, without -c option it flags an error. Can anyone explain how this -c options works?