Lecture #1 Questions

  1. The makefile discussed in class uses a command gcc -c module1.c. What is the difference between this command and gcc module1.c?
  2. gcc -S module1.c produces assembly code for the file module1.c. Is the assembly code a host language, target language, neither? Does this assembly code contain linking and loader information? Why or why not?
  3. Why might you use conditional translation in a C program?
  4. Why might you use a macro in an assembly language program?
  5. What is the difference between an external and relative reference? Give two examples of each.
  6. Why might you want to kill a running process?
  7. Give another example of using the pipe command than the one shown in class.
  8. What does the term "binding time" refer to?
  9. Give an example of something that is bound during: (a) compilation (b) linking (c) loading (d) execution
  10. What is the difference between an implicit dependency and an explicit dependency? Give an example of each.
  11. Why use makefiles?

© Douglas J. Ryan / ryandj@pacificu.edu