Tributes to Mr. Charles Petzold
- The sub folders indicate individual projects.
- Some projects contains two versions of the same exe.
a. Application.exe : This has been generated by direct compilation with compiler optiomization switches
b. Application.uncompressed.exe : same as <a>
c. Application.compressed.exe : UPX compression applied on <a> - All the applications are written in plain old C with Win32 API implementations.
- All programs have been compiled with LCC-Win32 C compiler.
- Typically projects with a resource file (.rc file) have been compiled in the following order:
lcc.exe -p6=no -O -o app.o app.c
lrc.exe /foapp.res app.rc
lcclnk.exe -o app.exe app.res app.o -subsystem WINDOWS -s
where 'app.c' is the C Source Code 'app.rc' is the resource file 'app.o' is the obj file (compiled from app.c) 'app.res' is the obj resource file (compiled from app.rc) 'app.exe' is the final application
Other Notes:
-
Sometimes, some project will list something like: libs.txt. This file indicates any external library to be included. For example, the 'Icon Cache Refresh' project indicates 'shell32' in the libs.txt. This means while linking the file in the third step (mentioned in #5), the command needs to be changed from:
lcclnk.exe -o app.exe app.res app.o -subsystem WINDOWS -s
to
lcclnk.exe -o app.exe app.res app.o <LCC PATH\lib>\shell32.lib -subsystem WINDOWS -s
-
I don't exactly have intentions of updating these repositories anytime soon.