dcc Distribution

The code provided in this distribution is © Cristina Cifuentes and the Queensland University of Technology (QUT).  Mike Van Emmerik and Jeff Ledermann worked for QUT while working on this project.  The contributions of the authors were as follows:  dcc is provided "as is" under the GPL license. 

Contents of the distribution

The following files are included in the dcc.tar.gz distribution: Note that the dcc_oo.exe program (in dcc32.zip) is a 32 bit program, so it won't work under Windows 3.1. Also, it is a console mode program, meaning that it has to be run in the "Command Prompt" window (sometimes known as the "Dos Box"). It is not a GUI program.

The following files are included in the test.zip file: fibo, benchsho, benchlng, benchfn, benchmul, byteops, intops, longops, max, testlong, matrixmu, strlen, dhamp. The version of dcc included in this distribution (dccsrcoo.zip and dcc32.exe) is a bit better than the first release, but it is still broken in^M some cases, and we do not have the time to work in this project at^M present so we cannot provide any changes. Comments on individual files:

Our thanks to Gary Shaffstall for some debugging work. Current bugs are: For more information refer to the thesis "Reverse Compilation Techniques" by Cristina Cifuentes, Queensland University of Technology, 1994, and the dcc home page.

Please note that the executable version of dcc provided in this distribution does not necessarily match the source code provided, some changes were done without us keeping track of every change.

Using dcc

Here is a very brief summary of switches for dcc: For example, dcc can be invoked in the following way to produce an assembly file (.asm) and a C-like file (.b):
        dcc -a1 file.exe

If dcc encounters illegal instructions, it will attempt to enter the so called interactive disassembler. The idea of this was to allow commands to fix the problem so that dcc could continue, but no such changes are implemented as yet. (Note: the Unix versions do not have the interactive disassembler). If you get into this, you can get out of it by pressing ^X (control-X). Once dcc has entered the interactive disassembler, however, there is little chance that it will recover and produce useful output.

If dcc loads the signature file dccxxx.sig, this means that it has not recognised the compiler library used. You can place the signatures in a different direcory to where you are working if you set the DCC environment variable to point to their path. Note that if dcc can't find its signature files, it will be severely handicapped.

Note that dcc produces C source files; dcc does not procude C++ source. The output is in a file with extension ".b".

Instructions to uncompress files

In a Unix box uncompress and untar the dcc.tar.gz file:
        gzip -d dcc.tar.gz
        tar -xvf dcc.tar
This will extract all PC zipped (.zip) files. To unzip these files use the DOS pkunzip program:
        pkunzip *.zip
(you may want to check which files you need/want to look at first rather than unzipping everything).

dcc runs on the (x86,DOS) environment.


This is a HTML-ization from the original readme file.
Last updated: 4-May-2002