Education For All

Text size
  • Increase font size
  • Default font size
  • Decrease font size


Course Home

Programming Paradigms - Lecture 13

Get the Flash Player to view video.
Lecture 13 - Compilation Process

Review of Compilation Process of a Simple Program Into a .O File, Effect of Commenting Out a C Standard Library .H File on the Resulting Translation Unit, How Gcc Infers a Prototype When None Is Found and the .O File Remains the Same, How the Gcc Linker Is Able to Link Standard Library Files Without a #Include, The (Similar) Result When the .H File with Malloc's Prototype Is Not Included, How Commenting Out Assert.H Creates Different Results, Failing In the Linker Since Assert Is a Macro, As Opposed to a Function In the Standard Libraries, Effect of Calling Strlen with the Wrong Number of Arguments on the Compilation/Linking Process, Effect of Calling Memcmp with too Few Arguments on the Compilation/Linking Process, How C++ Disambiguates Between Different Function Prototypes to Avoid the Problems Posed By the Previous Two Examples, Debugging Information - Seg Faults (Usually Dereferencing a Bad Pointer) Vs. Bus Errors (Dereferencing Data that Isn't Correctly Aligned), Debugging Example Where Overflowing an Integer Array Leads to an Infinite Loop, Similar Example with a Short Array that Works Differently on Big-Endian Systems Vs. Little-Endian Systems, Example Where an Array Overflow Overwrites the Saved PC and Leads to an Infinite Loop

Prof. Jerry Cain
CS107 Programming Paradigms
(Stanford University: Stanford Engineering Everywhere)
Date accessed: 2009-05-09
License: Creative Commons Attribution 3.0

Lecture Material

Not Available.



Chinese (Simplified) French German Italian Japanese Korean Portuguese Russian Spanish
More educational resources: