TCH (statz) | #1, Főfasz (10443) |
2009 | #27b3 | ^ | Idézet | Sun, 08 Sep 2013 10:16:12 +02 |
84.3.*.* | *.catv.pool.telekom.hu |
Távol álljon tőlem a mikrofos védelme, de a GCC sem teljesen szabványkövető. Erre gondoltam én is, de én csak a Linuxos felét tudnám vállalni mert winfosom nincs, viszont ugyanazon a gépen kéne csinálni mind a két OS alatti benchmarkot. Mit szólsz ahhoz az ötlethez, hogy a legközelebbi klubgyűlésen kiprószáljuk? Felrakjuk mindegyiket mind a két oprendszer alá (MSVC-t csak winfos alá) és bencsmárkollyuk ki. Ez a kérdés így egy kicsit nehezen kifejthető, én inkább úgy tenném fel, hogy van-e közöttük hasonlóság? :) Mert hogy totál más a kettő. Pascalban mindig csak egyszer fordul bele minden kód a programba, az interface csak az összekötő, lévén a Pascal full moduláris és az egységek közt alapból nincs átjárás. Viszont nem csak deklaráció lehet benne, hanem csatolás is, az uses itt is működik, mert ami függvényt/eljárást exportálunk, annak ha van valami másutt deklarált típussal bíró bemeneti változója vagy visszatérési értéke, azt akkor ide be kell húzni. Mutatom. unit whatever; interface function lofasz(anyad: kecske): pkecske; implementation uses kecske_unit; function lofasz(anyad: kecske): pkecske begin lofasz := @kecske; end; end. unit kecske_unit; interface type kecske = array of array of array of longint; pkecske = ^kecske; implementation end.Ez így nem fog lefordulni, mert bereklamál a két kecskés változóra. Tehát az uses kecske_unit; kitételt át kell tenni az implementation részből az interface részbe. Röviden Pascalban az implementation részbe kerül ami only helyi és az interface részbe, ami közös. Ez lehet globális változó, eljárás, konstans, típus, gyak. kód kivételével bármi. |