Applies To:
  • CitectSCADA 1.00 1.01 1.10 1.11 1.20 2.00 2.01 3.00

Question: When compiling a driver using the Citect DDK which compiler options should be used? 

At Ci Technologies all drivers are developed using the Microsoft C/C++ 7.00. They are compiled in the large memory model. The compiler options we use for drivers are:

/c /nologo /ALu /W3 /G2s /Zpei /Od

which mean:

/c compile only
/nologo no propaganda
/ALu large model, with all functions to load DS on entry
/W3 warnings set to level 3
/G2s compile using 80286 instructions, turn off stack checking
/Zpei pack data structures, enable language extensions, include debugging information
/Od compiler optimisation turned off

It is recommended that you do not vary from these options unless completely necessary. Generally attempts to reduce increase size, increase speed by using different memory models or compiler optimisations result in no measurable effects and do not compensate for the time wasted debugging the weird side effects which they can cause.