I do a lot of programming in Visual Basic 5. I develop my own components and DLLs. Most of the components I develop are for use with PC data acquisision cards. I can program in C++ (4.51) and need to develop programming to this level. My question is three layered.
1) Do you know of any good publications that focus on the topic of programming in C++ at the level of PCI boards and RS2323/IEEE?
2) How can I compile my C++ program to a DLL?
3) Once I compile my program, how do I uncompile it, for example, if I didn’t keep the original uncompiled version and forgot the code and what arguments are needed to be handed off to it. I have heard of people uncompiling their DLLs.
I don’t have a list of books that cover RS2323/IEEE, but I know there are many out there. Any good book store should do.
The exact step to compile your C++ program to a DLL depends on your compiler. In VC++, for example, you simply select an option to specify that you are creating a DLL. Internally, the linker does some different things and, obviously, the file gets a different extension.
However, you should note that it isn’t simply a matter of compiling a program to a DLL. DLLs are a collection of callable routines. Programs are more than simply callable routines. Make sure you understand this distinction before compiling to a DLL.
As far as uncompiling a DLL, in general, you cannot. If you create the DLL with an optimizing compiler, all function and variable names are completely lost. This tends to be a good thing because, otherwise, anyone else could uncompile your DLL too. However, DLLs can be unassembled, revealing the machine instructions that make up the DLL. However, with complex programs, the usefulness of this is minimal.