home *** CD-ROM | disk | FTP | other *** search
- This directory contains two examples of building DLLs. The exe.c and dll.c
- files are used to build a very simple example DLL with a function that
- adds two numbers together (and prints some text at the same time). The
- exe.c program links to the DLL and prints the results of the function
- call.
-
- The C++ example "silly" is more interesting because it involves a DLL which
- contains the code for a C++ class. The CSilly class has all of its code in
- the sillydll.cpp source file, which is used to build the silly.dll. The
- silly.cpp source code builds the main silly.exe executable which makes a
- dynamic instance of the object and calls its member functions.
-
- The C++ silly.def file was generated by doing a nm of sillydll.o after it
- was generated and then getting the symbol names from that. Removing the
- leading underscore produces the appropriate name to include in the EXPORTS
- section. Notice there are a few weird functions.
-
- Since there are now several different versions of the GNU compiler capable
- of doing this, and they each seem to have different requirements for exports
- for classes, it has gotten kind of messy. The silly.def file here is for
- use with the native Mingw32 build of the EGCS version of GCC. The silly.def.old
- file was the def file I used when I was using Jan-Jaap's Mingw32 native port
- of GCC. The Cygnus version is different again, if I recall correctly, but I
- don't have it hanging around anymore.
-
- The jamfile builds all the components from the raw sources.
-
- The expected output of exe.exe and silly.exe are in the files exe.exp
- and silly.exp.
-
-
- The source code in this directory is in the PUBLIC DOMAIN and can be
- used or abused as you see fit. There is NO WARRANTY for this code,
- including (but not limited to) implied warranties of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE.
-
-
- Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
-
-