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?