information system development
About About
Products Products
Articles Articles
Contacts Contacts
Russian Russian


Recommendations for quick start

Set the environment variable CLIPROOT, something like
export CLIPROOT="/usr/local/clip"
All necessary files from distributives will be installed in this directory. Also, while compiling and execution, necessary information will be read from this directory.
The base program doing everything (preprocessor, compiler, translator into c-files and po-files, linker) is CLIP, but it uses gcc as an end compiler and linker. To link a simple program, it's necessary to execute:
clip -e -s -M test.prg
-e - create executable file
-s - use shared library
-M - genereate MAIN procedure - this option should be used, if there is no declaration of MAIN procedure in the program.
Programs may be linked: - in share mode, using -s option. In this case, the result binary file will be of minimal size, but it will be dependent on $CLIPROOT/lib/ library.
- in static mode, it's necessary to designate clearly, what libraries should be linked (clip -e test.prg $CLIPROOT/lib/other_libs.a). In this case, the program becomes independent of external files, but it will contain all object and library files, and the program size may be of several megabytes.
For compiling any old source codes from DOS, file names must be in the lower case (use lowname utility). We recommend you to include
set translate path on
into your programs to automatically convert file names and libraries to the lower case while executing the program.
The initialization procedure is in prg/sys/sys_init.prg.
If prg module includes a function or procedure with the same name, as the name of prg file, compiling with "-n" option (module without a starting procedure) is automatically set, therefore compiling may be executed by default, i.e. without designating "-n", by a simple execution of "clip *prg" or "clip -p *.prg".
During file operations on mounted file systems from other OS's (Novell,Win,...) there may be problems with the support of locking and cashing interfaces. In particular, Novell support library under freeBsd does not support locking.
© Engineering & Technical company LTD (E&T co. LTD) 2006
426072, Udmurtia, Izhevsk p/b 1247, uri at itk dot ru