for this:

    Clang -ggdb -Wall -Werror hello.c -lcs50 -o hello


if the library (such as cs50 library) is loaded and processed before source code ,then it's as if I didn't write the `-lcs50` at all  

so why it would like this?  why can't i write library before source code?