Here are the commands we used in class today (roughly):

Compiling .c files to produce .o files:

gcc -Wall -S dosum.c
less dosum.s
gcc -Wall -g -S dosum.c
less dosum.s
as -o dosum.o dosum.s
objdump -thD | less
rm *.o *.s
gcc -Wall -g -c dosum.c
objdump -thD dosum.o | less
gcc -Wall -g -c sumnum.c

Looking at the symbols defined within a .o file:

nm dosum.o
nm sumnum.o

Linking together .o files to produce an executable:

gcc -g -Wall -o sumnum sumnum.o dosum.o
gcc -g -Wall -v -o sumnum sumnum.o dosum.o
gcc sumnum.o dosum.o

Figuring out shared library dependencies of an executable:

ldd sumnum