В принципе, вот этого немного переделанного примера из Lin/Docu/Console-Quick-Start.odc
viewtopic.php?f=34&t=1159

## Код:
```
MODULE Obx2;

   IMPORT Kernel, Log, LinSimpleLog, Obx1,LinLibc;
   
   PROCEDURE Init*;
   VAR
      str: LinLibc.PtrSTR;
   BEGIN
      LinSimpleLog.Open;
      Log.String("Моя командная строка :"); Log.Ln;
      Log.String(Kernel.cmdLine); Log.Ln;
      
      Log.String("PATH :"); Log.Ln;
      str := LinLibc.getenv("PATH");
      Log.String(str$); Log.Ln;
   END Init;

END Obx2.

   Линковка
DevElfLinker.LinkDll libBB.so := Kernel+ Log Math Strings LinSimpleLog Obx1 Obx2#
```


достаточно для построения CGI приложений.
Видно, что можно:
-делать многомодульные приложения (удобство для построения больших приложений);
-назначить точку входа (Obx2#);
-читать/писать переменные окружения, через которые взаимодействуют CGI программы с web-сервером.

Компилировать пускач на си командой, приведенной в указанном примере
gcc -Wall -m32 -o BlackBox BlackBox.c -ldl

А по этой книге можно посмотреть, что делать дальше.
http://rutracker.org/forum/viewtopic.php?t=2466283

Доделываю описание подключения к СУБД Firebird
и тогда можно будет достичь скорости и удобства разработки, превышающих аналогичные в php