.h as in List.h.
Implementation files
are usually marked by the extension .m as in
List.m. The implementation file should
#import its corresponding interface file.
Your main program should also #import the
interface files of all of the classes it uses.
Usually, you will want to compile the files which implement
your classes separately. For instance, to compile
List.m, use the following command:
gcc -c -Wno-import List.m
The -c switch tells the compiler to produce an
object file, List.o, which can then later be
linked into your program. Do this for each of your implementation
files, and your main program.
The -Wno-import switch tells the compiler not to
give a warning if you have a #import statement
in your code. For some reason, Richard Stallman (the GNU
Project founder) doesn't like the #import
construction.
When you are ready to compile your program, you can link
all of the implementations of your classes using gcc again.
For example, to compile the files List.o,
and main.o you could use the
following command:
gcc -o prog -Wno-import List.o main.o -lobjc
The -o prog tells gcc to create an executable
program with the name prog (if you do not
specify this, it will default to a.out.
Note that when linking Objective-C with gcc, you need to
specify the Objective-C library by using the -lobjc
switch. If gcc reports an error, contact your system
administrator to make sure that the Objective-C library
and header files (objc/Object.h)
were installed when gcc was built.