A InfoWiki wikiből
D-Clean rendszer
Leölthető verziók:
Telepítés fejlesztői gépre
- A megadott zip file-t a C:\DClean alkönyvtárba kell kicsomagolni alkönyvtár
helyesen.
- ezen felül a fejlesztői gépre a Visual Studio 2005 fel kell telepítve legyen, mivel a Visual C fordítóját és szerkesztőjét is használja a rendszer.
A kicsomagolás után az ICE\bin alkönyvtárból az ICE32.DLL és ICEUTIL32.DLL, BZIP2.DLL file-okat célszerű átmásolni a C:\windows\system32 alkönyvtárba.
Szintén az ICE\bin alkönyvtárban lévő ICECS.DLL filet be kell regisztrálni a .NET keretrendszerbe (gacutil -i .\Ice-3.2.1\bin\icecs.dll) utasítással, ahol a gacutil.exe az adott .NET keretrendszerhez (vagy a Visual Studio-hoz) mellékelt segédprogram (nálam a C:\Program Files\Microsoft SKDs\Windows\v6.0A\bin, C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin könyvtárakban van gacutil.exe).
A telepítés végén a LocalSett.xml file-ban lévő alkönyvtár-hivatkozásokat ellenőrízni kell, és szükség esetén módosítani.
- CLEAN_ROOT -> mutasson a Clean könyvtárra (C:\DClean\Clean 2.2)
- CLEANLIB -> mutasson a Clean LIB könyvtárára ($CLEAN_ROOT$\Libraries), ez clean verziónként eltérő lehet!
- SkelRootDir -> mutasson a DClean skeleton könyvtárra (C:\DClean\skeletons\Skeletons)
- C#FORD -> mutasson a C# parancssori fordítóra (C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe)
- ICE -> mutasson az ICE alkönyvtárra (C:\DClean\ice-3.2.1)
- stb
Megj: a könyvtárnevekben szereplő $ID$ formájú nevek a megfelelő beállítást helyettesítik, tehát ha CLEAN_ROOT=C:\DClean\Clean 2.2, akkor a CLEANLIB=$CLEAN_ROOT$\Libraries miatt a CleanLib értéke C:\DClean\Clean 2.2\Libraries lesz.
Clean verzió
A Clean 2.2 be van csomagolva a zip-be. Feltételezem, hogy Clean telepítés amúgy is lehet a gépen, ennek ellenére a becsomagoltat javaslom használni (a Clear_Root ide mutasson) az alábbi okokból:
- a Clean 2.2 kódja hibát tartalmaz, mely ebben a csomagolt Clean-ben javításra került (a hiba a következő Clean release-ben valószínűleg publikusan is javítva lesz)
- a D-Clean rendszer nem fordít Clean library kódokat, csak hivatkozik az .o file-okra. A becsomagolt Clean 2.2-ben minden .o file le van generálva.
Ha mégis a saját Clean installációdat akarod használni, akkor:
- ellenőrízd, hogy a hiba nálad is javítva van-e (lásd lejjebb)
- fordítsd le az alábbi Clean programot a rendszereden (ez generálja a szükséges, hivatkozott .o file-okat)
A hiba patch:
John van Groningen wrote: There is an error in the initialisation of the finalizer list, which only seems to cause a minor problem when the Clean linker is used. However if the MS linker is used it causes a crash if this list is traversed after a garbage collection. Could you try this: - open the file _system.abc in Libraries\StdEnv\Clean System Files with an editor, move the file that begins with .desc _Select after the next line that begins with .desc _Nil (to swap them) - delete _system.o in the same directory, and let the CleanIDE generate _system.o by compiling a Clean program This will probably prevent the crash, but still cause the minor problem that also happens when the Clean linker is used.
És a lefordítandó kód:
module proba import StdEnv,Debug Start = debugAfter "kesz" dbgStr ([1..10]) dbgStr x = [x]