Személyes eszközök
Keresés

 

A InfoWiki wikiből

(Változatok közti eltérés)

A lap 2009. február 23., 13:19-kori változata

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]

A lap eredeti címe: „http://wiki.ektf.hu/wiki/DClean
Nézetek
nincs sb_3.145.166.7 cikk