HTML

Survive Developement

Itt olvashatod a Survive! nevű játék fejlesztésének állapotát, lépéseit. És mi is lesz a játék? Egy zombis-túlélős játék, ahol elsősorban a csapatmunkára építkezve kell megpróbálni életben maradni egy kihalt városban. A terep teljesen a tietek, nincsenek szabályok: éljetek túl, ahogy tudtok!


Küldj e-mailt nekünk:
gilgamesco@gmail.com

Sikolyok

Ettől tépjük a hajunkat:

Friss topikok

  • Sir Butcher: A gyors mozgású ütközés-érzékelés majd a lövésnél lesz topic :D A második esetben teljesen igaza... (2012.04.05. 16:38) Ütközésérzékelés
  • _fpeti_: Halad ez. (2012.04.04. 22:01) Gravitáció
  • Sir Butcher: Az sem rossz, az tény :D Szerencsére egyelőre annyi különbözőt kell csinálnom, hogy esélyem sincs ... (2012.02.20. 21:48) Scenery - Még több látvány
  • Sir Butcher: Na, ideírom: obj-nél megoldottam a csontokat. Melléktermékként összejöttek, extra számítás nélkül ... (2011.12.02. 11:48) Model Animálás - a probléma, és a (vélt) megoldás
  • Burwor: "A tesztvárosban sétálgatva belefutsz egy házba, aminek hiányzik egy fala. Mit csinálsz?" Zárva a... (2011.11.10. 15:00) Sziduri - a grafmotor bemutatkozik

Haskell és a C# / .Net

2011.08.10. 21:04 :: GizmoSDK

Nos, igen. Adva van egy makacs programozó, aki csak a Haskell meleg és biztonságos fészkében érzi jól magát, és adva van a C# kegyetlen, durva világa. Mit lehet ilyenkor tenni? A válasz triviális: csomagoljuk a Haskell kódot DLL-be, és ezt etessük meg a C# kóddal. Ahogy azt Móricka elképzeli.

Nem ilyen egyszerű a helyzet.

A fő probléma ott van, hogy a C# úgynevezett managed kóddal dolgozik (managed code - a .Net keretrendszert használja), viszont a sima gépi kódú DLL meg pont, hogy unmanaged. De van remény! Ha ráguglizol, létezik néhány megoldás. A mi választásunk a Hs2lib nevű könyvtárra esett. Ez azt csinálja, hogy megadod neki a Haskell kódot, ebből ő kiköp egy DLL-t, ami még mindig unmanaged, viszont már pl C-ből könnyen ki lehet olvasni (az adattípusokat jól megoldja, meg mindent megcsinál magától). Még egy komplett wrappert / runtime környezetet is belepakol. (Nem túl nagyot, szerencsére.) Na de ez még mindig nem mamaned kód. Szerencsére van lehetőség C#-ban, hogy unmanaged dolgokat is használjunk, erre való az 'unsafe' kulcsszó. Ekkor C-szintű műveletekre is lehetőséged nyílik, adogathatsz pointereket, struktokat, stb. Szóval meg lehet csinálni. Ne adjátok fel a reményt! A főnök sem adta fel, és megmentett egy életet... legalábbis amikor sikerült, jóllakott napközis módjára tapsikoltam, miközben fülig ért a vigyor a pofámon :D

Szólj hozzá!

Címkék: c sharp interop haskell

A bejegyzés trackback címe:

https://survivedev.blog.hu/api/trackback/id/tr603144509

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása