I am examining gcc with an example that uses the -L option this seems to point to a directory where I see .so and .a files.
Can anyone explain the meaning of these two file types (it doesn't seem to google well)?
This question is a Unix question, not a Raspberry Pi specific question. The answer you are looking for is here: https://unix.stackexchange.com/questions/13192/what-is-the-difference-between-a-and-so-file. You could have found this easily if you would have googled (3rd hit on the search "what are .so files in linux")