Which C Compiler for uniface 9.3?

Author: tero.yliharsila@flexim.fi (terofl)

Hi, We are migrating from uniface 8.4 to uniface 9.3. We have some 3gl functions written in C. I would like to know which C compiler do we need? Windows Xp is our development platform (32bit). At the moment we don't have any c compiler for windows. Kind regards, Tero


  1. Hello Tero Ylihärsilä,

    on Microsoft Windows, Visual Studio 6.0 is required (or a more actual one)

    Not quite sure if "Visual Studio Express" will do the job., but because of the no-cost status, it's woth trying.

    Success, Uli

    The 9.3.02 ulibrary.chm reads as:

    Note:  We support only the ANSI C compiler provided by the operating system vendor. On Microsoft Windows, Visual Studio 6.0 is required. On some platforms, an ANSI C compiler is not bundled with the operating system, and needs to be purchased separately. In particular, we do not support using the GNU C compiler, except on Linux where this is the default compiler.

    This is not to say that you cannot compile 3GL with another compiler. You are free to use the compiler of your choice, but you must discover for yourself how to do it, and we cannot guarantee that we can help you when problems arise. This is also the case if you use a language other than C. We have not done tests with other languages, and cannot tell you how to compile and link COBOL, Fortran, Basic, or Pascal code.

    Author: ulrich-merkel (ulrichmerkel@web.de)
  2. I have successfully used Visual Studio 2003, 2005, 2008 and the Visual C++ Express edition in the past.

    If I recall correctly (no guarantees!), using a Visual Studio version newer than 2005 may mean that you have to install the Visual C++ redistributables with the application if you don't have other applications that use it installed (they're also available as a free download from Microsoft). Also, the later compilers (2005+?) can give you a lot more compilation warnings about existing code due to changes in C library best practices (e.g. use the strncat function which specifies a max number of bytes to copy, instead of strcat, which might accidentally overwrite memory if the string is too large).

    Hope that helps,


    Author: dakerman (david.akerman@compuware.com)
  3. Hi,

    Have you thinking to replace 3GL functions by Uniface functions. Uniface offer some improvements like filemove and the possibility also to use Microsoft Dll or others dll.

    For me, it's easier to maintain a full developement Uniface, because when we have 3GL, we need some works.

    Currently, I use also 3GL for the display of field. Numeric value with a variable display is not easy under Uniface.

    Best regards,


    Author: apicaud (antoine.picaud@free.fr)