A traditional XP is written in Assembly. This is because CC3 and its predecessors were written in Assembly. But, for the last decade or more there has been a library file that allows XP development in C/C++.
An XP source code file is made up of three distinct parts.
Part 1: XP Command declarations. Here is where we place all the prototypes of the entrypoint functions of each XP command. We also add the names of each command into lists that CC3 loads. In other words, this is where CC3 looks to map a command same, like PATH, with a function to call when the user types in that command.
Part 2: This is the meat of the XP dll. This is where all the actual coding magic works.
Part 3: This is where the DllMain for the dll is declared. This boilerplate code hooks up the dll into CC3.