[comp.databases] making an INFORMIX-4GL runner with Turbo-C

gm@romeo.cs.duke.edu (Greg McGary) (03/17/89)

I recently got a copy of INFORMIX-4GL & INFORMIX-SQL for DOS.  The docs
say that you can link C functions with 4GL applications, then go on to
tell you that you need Microsoft-C 4.0 or greater.  I have Turbo-C
2.0.  Has anyone ever attempted to use TC?  What's MSCish about the
INFORMIX stuff?  Does INFORMIX just want to invoke the C-compiler with
MSC argument switches?  Or is the problem more fundamental, like
symbol-table/calling-convention/stack-frame incompatibilities with TC?

BTW, how do people in net-land like INFORMIX on DOS?  I wasted some
time trying to do a entity-relationship style application with
Paradox 3.0 not too long ago.  After skimming the INFORMIX docs last
night, I have much greater confidence that INFORMIX is much more of
a *real* database system than a toy like Paradox.

Are there other RDBMSs for DOS that do better for entity-relationship
applications better than INFORMIX?

-- Greg McGary
-- 4201 University Drive #102, Durham, NC 27707       voice: (919) 490-6037
-- {decvax,hplabs,seismo,mcnc}!duke!gm                 data: (919) 493-5953
--                                  gm@cs.duke.edu

aland@infmx.UUCP (Dr. Scump) (03/23/89)

In article <13885@duke.cs.duke.edu>, gm@romeo.cs.duke.edu (Greg McGary) writes:
> I recently got a copy of INFORMIX-4GL & INFORMIX-SQL for DOS.  The docs
> say that you can link C functions with 4GL applications, then go on to
> tell you that you need Microsoft-C 4.0 or greater.  I have Turbo-C
> 2.0.  Has anyone ever attempted to use TC?  What's MSCish about the
> INFORMIX stuff?  Does INFORMIX just want to invoke the C-compiler with
> MSC argument switches?  Or is the problem more fundamental, like
> symbol-table/calling-convention/stack-frame incompatibilities with TC?
> 
> -- Greg McGary
> -- {decvax,hplabs,seismo,mcnc}!duke!gm                 data: (919) 493-5953

Your first guess is right on the mark.  MS C has its own command-line
protocol for invoking the C compiler and for the various compilation
flags.  I am not familiar with Turbo C, but I presume that it isn't
100% command-line compatible; Lattice C isn't even remotely similar.
This determines not only how the command line compiler works (c4gl)
but how the 4GL Programmer's Environment runs, since you can invoke
compiles and links directly from the environment.  There are even
several differences between MS C 4.0 and 5.X, e.g. default library
names, which is why you need to use the -4 switch when using MS C 4.0
with the .06 products.

Another problem is object module and library formats.  To my knowledge,
Turbo C uses its own object format and supplies its own linker.

A third problem affects protected mode only.  The protected mode 
manager we use supports C compilers of 4 different vendors, but
Borland is not one of them.  Even if we could support Turbo C,
it would be limited to real mode only.

Hope this explains things -- it's not just laziness!

Alan Denney

--
    Alan S. Denney  @  Informix Software, Inc.    
         {pyramid|uunet}!infmx!aland                 "I want to live!
   --------------------------------------------       as an honest man,
    Disclaimer:  These opinions are mine alone.       to get all I deserve
    If I am caught or killed, the secretary           and to give all I can."
    will disavow any knowledge of my actions.             - S. Vega