Google

Советы для быстрого старта

Поставьте в окружение что-то типа
export CLIPROOT="/usr/local/clip"
В данный каталог будут проинсталлированы все необходимые файлы из дистрибутивов. Во время компиляции и исполнения из этого каталога, будет читатся необходимая для работы информация.


Основная программа, которая делает все (препроцессор, компилятор, транслятор в c-файлы и po-файлы, сборщик программы) - clip, но она использует gcc в качестве конечного компилятора и сборщика. Чтобы собрать простую программу надо выполнить:
clip -e -s -M test.prg
-e - create executable file
-s - use share library
-M - genereate MAIN procedure - этот ключик надо использовать если в теле программы явно не описана процедура MAIN.
Собирать программы можно: - в share режиме используя ключик -s. В этом случае исполняемый файл будет минимален, но он будет зависим от библиотеки $CLIPROOT/lib/libclip.so.
- в static режиме, в данном случае надо явно указывать какие библиотеки надо подключать ( clip -e test.prg $CLIPROOT/lib/tools.a). При этом программа становится независимой от внешних файлов, но при этом в ее состав войдут все объектные и библиотечные файлы и размер программы может составлять несколько мегабайт.
Для того, чтобы компилировать любые ранее наработанные исходники из DOS, имена файлов должны быть в нижнем регистре (используйте утилиту lowname). Рекомендуем в ваших программах установить режим
set translate path on
для автоматической трансляции имен файлов и каталогов в нижний регистр во время выполнения программы.
Процедура инициализации находится в prg/sys/sys_init.prg
При наличии в prg-модуле функции или процедуры с именем, равным имени prg-файла, автоматически включается компиляция с ключиком "-n" (модуль без стартовой процедуры), поэтому компилировать можно "по-умолчанию" т.е. без явного указания "-n" простым вызовом "clip *.prg" или "clip -p *.prg"
При обращении программ к данным на замонтированных файловых системах из других ОС (Novell,Win,...) могут быть проблемы с поддержкой блокировок и кеширующими механизмами. В частности библиотека поддержки Novell под freeBsd не поддерживает блокировки.

© Ю.Хныкин, uri@itk.ru, 2001