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

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

In article <7900001@iapic>, hlt@iapic.cvm.uiuc.edu writes:
> ... 
> There are two versions of I-4gl for the PC: the version which produces 
> an .exe file and the I-4gl RDS which produces an .4gi file.  I have
> worked with both and will share the experience.
> 
> I-4gl compiler:
> 
> The version you have appears to be this one and was designed around 
> the MSC 4.0.  The compiler/libraries/headers all seem to be designed 
> to work together.  When we got ours however MSC 4.0 was now MSC 5.0 
> and was much larger so that both I-4gl and MSC 5.0 could not work 
> together in the I-4gl programming environment.  I-4gl converts the 

Huh?  The current releases (X.10.06), out since September or so, work
just fine with MS C 5.0-5.1.  In fact, they *expect* 5.X; if you want
to use MS C 4.0, you can do so by passing a "-4" argument in your
compile lines or when entering the Programmer's Environment.  The only
limitation is that if you are using the *real mode* engine AND compiling
within the I4GL Programmer's Environment, MS C 5.1 is too large to fit
into remaining memory.  (c2.exe grew from 116K to over 200K from 4.0
to 5.1).  Soooo... if you have only 5.X, you need to run the engine
in protected mode -or- compile from the command line using "c4gl". 
This is mentioned in the first page of the manual chapter on the
Programmer's Environment (pp. 6-5R)

> .4gl files to .ec files and then the .ec files to .c files and then 
> hands the .c files to the compiler to create executable files.  On
> the Sequent this is nearly seamless and generally delightful to use.
> On the PC this is another matter.  The AT we use has 2.5 MB RAM but
> this version of i4gl can only use 700+ KB of it.  The only way we

Not true... you can compile your 4GL program to run in protected mode 
using extended memory to get around this limitation.  Theoretical limit
is ~15 MB, but you will typically hit an MS C limitation before that,
such as the 64K limit for initialized data and stack space.  You can
run both the engine and the 4GL program in protected mode, or 1 in
real and the other in protected, or both in real (depending on memory).
Typically, best performance results when the frontend is run in
protected mode and the engine in real mode, although because of 
overlay swapping the protected mode engine is sometimes faster
if dynamic SQL is used (the PM engine is much faster for a TP1, for
example).

> can use this combination is to create MSC make files to chain the
> .4gl to .exe process together.  We have not been able to get the MSC
> 5.1 version to work yet, but that may be how we have some flags set.
> MSC uses combined libraries to reduce link time and storage size,
> but informix is expecting the uncombined libraries so don't delete
> them when installing the MSC compiler.  This expectation of the MSC
> uncombined libraries leads me to believe that the port is specific
> for the compiler.
> ...

The .06 products *do* use the combined library (LLIBCE.LIB). The older
.02 products used uncombined libraries because it predated MS C 5.0.
(The port is compiler specific, at least MS-specific, because different
compilers use different compile commands, arguments, linkers, etc.)

> I-4gl RDS
> 
> The only way to work on a PC!!  This will use the extended RAM as a
> place to hold the informix engines (i believe).  The programming

Yes, the pcode runner and debugger can run in protected mode and
use extended memory as well.  The R4GL Programmer's Environment
(parallels I4GL) will automatically use the protected-mode runner
and debugger if enough extended memory is available.

> environment is smooth and the the debugger very valuable.  For
> awhile this was available for $395 to developers, but no longer.

/* CAUTION: entering semi-commercial paragraph... */
The introductory offer is STILL GOOD until March 31.  Grab that
phone, quick!  :-]   The $395 bundle includes INFORMIX-SQL as well.
There is also a corresponding (SCO) XENIX bundle for $795, I think, 
good for a couple of months longer.
/* ...leaving semi-commercial paragraph */

> There are still bugs in this first release for the PC but is still a
> very useful way of developing programs.  We use this to debug and
> test.  When we are satisfied that it is working, we shift to the
> make file arrangement and compile using MSC.
> 
> I know this did not address the Turbo-C question directly, but you
> may be better off going for the i4gl-rds instead.
> 
> Harold L. Trammel	hlt@iapic.cvm.uiuc.edu
> Univ. of Illinois Urbana-Champaign

True, there is no need for any C compiler with RDS unless you want
to link in your own C functions.

Just setting the record straight...   hope this helps.

--
    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