For in-process simulator development, SansGUI currently supports the following programming environments:
Microsoft Visual C++ in the Visual Studio Environment (MSVC)
Compaq/Digital Visual Fortran (CVF)
We have tested SansGUI with the Standard Editions of both environments and certify them for SansGUI simulation development. However, you need to consult the license agreement of these products if you need to distribute your simulator. The Microsoft Foundation Class library (MFC) is not a requirement for SansGUI simulation development.
If your programming environment is not directly supported, you may still be able to develop in-process simulators provided that your programming environment supports the following capabilities:
Win32 dynamic linked library creation: Your programming environment can generate Win32 DLLs for the Windows environment.
Function name compatibility with Microsoft Visual C++: Your compiler should support long function names and case sensitivity. Depending on the names of the classes in the class path, the requirements may vary. MSVC supports function names with up to 247 characters long and CVF supports up to 63 characters. The functions names, after appending the class paths, shall not exceed these limits. SansGUI also requires that the names be made case sensitive, exactly as they are shown in the DLL sheet of the Class Properties.
Function argument list compatibility with Microsoft Visual C/C++: The generated function code should be callable by MSVC and the argument list should follow MSVC's calling convention. Consult the SansGUI Application Programming Interface chapter in the SansGUI Reference Manual for the definition of the function prototype and entry points.
C struct and pointer dereference: Your compiler should support access to C data structure with pointers. Consult the SansGUI Data Object Format chapter in the SansGUI Reference Manual for the definitions of SG_VALU and SG_OBJ data structures.
If your programming environment does not support all of the above, you need to use one of the supported environments to create an intermediate DLL that contains stub functions to call the routines created with the unsupported environment indirectly. If this still cannot be done, you need to implement it as an external process simulator, which is described in the next chapter, Developing External Process Simulators.
For SansGUI in-process simulator development, the supported programming environments must be customized as described below:
You need to configure the IDE only once to include SansGUI's inc directory in the include file path. To do so, use Tools>Options... from the pull-down menu. In the Options dialog, click on the Directories tab and in the Show Directories for: field, select Include files. If the inc subdirectory in your SansGUI installation directory is not listed in the Directories, you need to add a new entry and select the inc subdirectory to include it. You can enter the directory path directly or use the Browse button (labeled with ...) to locate it. Click on the OK button to commit the addition.
You need to configure the IDE only once to include SansGUI's inc directory in the include file path. To do so, use Tools>Options... from the pull-down menu. In the Options dialog, click on the Directories tab and in the Show Directories for: field, select Include files. If the inc subdirectory in your SansGUI installation directory is not listed in the Directories, you need to add a new entry and select the inc subdirectory to include it. You can enter the directory path directly or use the Browse button (labeled with ...) to locate it. Click on the OK button to commit the addition.
SansGUI Modeling and Simulation Environment Version 1.2
Copyright © 2000-2003 ProtoDesign, Inc. All rights reserved.