QUESTIONS AND ANSWERS
-o, -Wall, -pedantic, -std=c99 in makefiles what do each of these do - ANS -o: names the
executable/output file
-Wall: activates all warnings
-pedantic: really picking with warnings
-std=c99: uses c99 standard for compiling
-E in makefile - ANS processor translates directives into more c code, inserts all code from
stdio.h
-c in makefile - ANS compiler converts c code into object code
makefile linker - ANS connects object code to standard or non standard libraries
how to link and create libraries in makefile - ANS link library -l(name of library)
-L. provides path to library that isn't in defaults
-fPIC in makefile - ANS creates position independent code, doesn't assume where in memory
your code will be
1
Page
@COPYRIGHT @THEBRIGHT 2025/2026
, -shared in makefile - ANS creates a shared library
.so
what does export LD_LIBRARY_PATH='pwd' do - ANS tells os where the .so file is at runtime
advantages of making - ANS makes repeated compilation easier
all in makefile - ANS lists everything you want the make command to create by default
clean in makefile - ANS deletes intermediate files
make file rule format - ANS target: dependencies
command
target: what you want to create
dependencies: what you need to run command
command any unix command (gcc or clang)
qsort - ANS function that sorts an array of nell objects, intial member is pointed to by the
base, size is specified by the width
contents of array base are sorted in ascending order according to comparison function pointed
to by function pointers which requires two arguments the objects being compared
why does qsort use function pointers - ANS generic sorter, don't have to specify types, can
pass in any type of object
are scripting languages interpreted or compiled and why - ANS interpreted because allows
for rapid development, and change
2
Page
@COPYRIGHT @THEBRIGHT 2025/2026