(Name tentative. Well, name sucks, please suggest a better one if you have it)

A common problem for many CS students is compiling their C project -
for example in the Matam (Introduction to Systems Programming) and
Mivne (Data Structures 1) courses. While Matam's tutorials supposedly
explain how to do this, and even supposedly explain Makefiles, it
turns out that most students find themselves fumbling around,
compiling manually, and having all sorts of problems.

The lecture I propose is intended for such CS students, and will
contain 3 parts:

* A basic overview of getting a 'Hello World' program compiled, in C,
using gcc, and a very short explanation of the -Wall -pedantic-errors
flags. (The latter is mostly because many students actually write
-wall -pedantic -errors instead)

* An example of compiling and linking objects - essentially in this
context, multiple-source-file C programs. Advantages of compiling to
object files and linking rather than compiling all files at once.

* How to write a basic (!) makefile and use it - including specifying
the compiler & linker (showing what needs to be done for C++ as well),
explicit compilation instructions and why they can be omitted, and the
'all' and 'clean' targets. Additional hints at what can be done with
more advanced makefiles. (recursion, for example)

This is meant to be a one-hour, non-in-depth lecture (but with
information as to where in-depth material can be found), followed by a
somewhat amorphic Q&A session: Essentially, people should ask for
clarifications on the lecture's material, or ask question wholly
unrelated to the lecture (for example, "I'm actually taking the OS
course, and am having some trouble writing this Kernel module... can
any kernel hacker take a look?"). Furthermore, if everyone ends up
leaving, I have high hopes that the whole thing will devolve into a
discussion on some random FOSS-related subject.

It might seem that I'm malevolently pushing my 1-hour-lecture
1-hour-non-lecture agenda into this lecture proposal, and that's
because I am. But there is a point to it, obviously - this lecture
should be a test of whether my ideas are any good. Which brings me to
my next point:

The Matam, Mivne and OS staffs (staves?) should be notified of this.
Last time we tried that, response was tremendous. Let's hope it works
this time too.

Protect your digital freedom and privacy, eliminate DRM, learn more at

Ohad Lutzky

Haifa Linux Club Mailing List (http://www.haifux.org)
To unsub send an empty message to [EMAIL PROTECTED]

Reply via email to