Franny's Adobe

Il blog di Francesco Carucci
posts - 99, comments - 948, trackbacks - 6705

Programming

Scrum and Long Term Project Planning for Video Games

Ringazio Luca per avermi segnalato l'articolo su Gamasutra. http://www.gamasutra.com/view/feature/3142/scrum_and_long_term_project_.php?page=1 E' interessante perche' descrive bene il rapporto fra i publisher, che vogliono uno schedule dettagliato, e lo sviluppatore che non riesce mai a finire un gioco nel tempo stabilito.

posted @ giovedì 20 dicembre 2007 14:31 | Feedback (2) | Filed Under [ Programming ]

I need a hammer

http://discuss.joelonsoftware.com/default.asp?joel.3.219431.12 "And this is the way everyone is doing it now? Everyone is using a general-purpose tool-building factory factory factory now, whenever they need a hammer?""Yes."

posted @ martedì 27 novembre 2007 16:28 | Feedback (2097) | Filed Under [ Programming ]

No Comment

I commenti nel codice e' senza dubbio uno dei miei argomenti preferiti: io sono per la zero policy. Nessun commento, a parte cio' che non puo' in alcun modo essere espresso in codice. Oggi guardavo un po' di codice e mi imbatto in: #ifndef _XXXX_MANAGER_HPP_#define _XXXX_MANAGER_HPP_ /// Include guard. A parte l'underscore di fronte ad un identificatore che in C++ e' riservato al compilatore e al comitato di standardizzazione, quindi non deve mai essere usato: il commento e' quanto meno illuminante. Il prossimo entra dritto nella top 10: # define IGNORE_MISSING_DX_FILE // ignore missing file Il commento dice meno di...

posted @ martedì 16 ottobre 2007 16:22 | Feedback (47) | Filed Under [ Programming ]

I Quad...

... sono arrivati :) PS. I Quad sono i quadrati, non i quad processor.

posted @ lunedì 15 ottobre 2007 14:47 | Feedback (6) | Filed Under [ Programming ]

Resource Acquisition is Initialisation

http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization CWaterRenderingStrategy::~CWaterRenderingStrategy(){  delete m_Geometry;  delete m_Shader;} e poi subito dopo: COceanRenderingStrategy::~COceanRenderingStrategy(){  delete m_Geometry;} Boom. Double delete e memory corruption. Qualcuno ha perso due ore per cercarlo. Il mio errore e' stato non seguire il pattern RAII e rilasciare m_Geometry nella classe base, ma la classe base non l'aveva inizializzato quindi non ne aveva l'ownership e non doveva cancellarlo. Nella classe derivata ho correttamente costruito e distrutto l'oggetto, ma l'ho scritta mesi dopo. Per altro... uno strategy pattern in questa situazione era overingegnerizzato. Non mi serviva ed ha offuscato il bug. Altra lezione.    

posted @ venerdì 21 settembre 2007 18:54 | Feedback (2) | Filed Under [ Programming ]

"Ah, the infamous ‘you ain’t gonna need it’ crap "

Poi Gianluca mi dice che mi lamento sempre, ma questa proprio non potevo lasciarla scappare :) Oggi il mio sogno e' avere un boss che non mi dice che YAGNI e' un concetto di merda. Il sogno di domani e' averne uno che sappia programmare.

posted @ martedì 18 settembre 2007 13:10 | Feedback (22) | Filed Under [ Programming ]

Technical Design Document

Sto lavorando sull'acqua ed ho bisogno di un task dal tool team per supportare il mio lavoro. Senza entrare nei dettagli, ho bisogno che una regione d'acqua sia divisa in un certo numero di quadrati. Come da mia abitudine, mi mantengo sul semplice e chiedo di generare solo due quadrati, per ora, per un particolare livello sul quale sto testando il mio lavoro. Faccio la mia richiesta un paio di giorni fa e attendo. Oggi vedo un Technical Design Document riguardante il design del tool di editing dell'acqua ed una lunga discussione su come presentare le informazioni, l'algoritmo per generare...

posted @ mercoledì 12 settembre 2007 17:43 | Feedback (22) | Filed Under [ Programming ]

Go learn C++ n00b

http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918 Magari se Linus imparasse anche a programmare un bel giorno non si farebbe ridere dietro da mezzo mondo...

posted @ venerdì 7 settembre 2007 15:25 | Feedback (36) | Filed Under [ Programming ]

Commit del codice al pomeriggio? No grazie.

Sembra che faccia male alla salute. Oggi si e' consumata una nuova puntata del dramma: nel branch principale e' vietato fare il commit del codice al pomeriggio, per evitare che la build si rompa la sera, visto che c'e' un ritardo di una o due ore fra il commit e quando il problema e' scoperto. Ovviamente il concetto di automated testing e' del tutto alieno, perche' questo e' l'ultimo chiodo sulla bara della Continuous Integration: un monumento a come non si gestisce un progetto. Poi si domandano perche' non hanno mai finito un gioco con meno di un anno di...

posted @ mercoledì 29 agosto 2007 13:14 | Feedback (3) | Filed Under [ Programming ]

"E' un refactoring essenziale?"

Si', lo e'. L'eterna lotta sui principi cardine della Costruzione del Software fra me e il producer continua in queste calde giornate d'Agosto (e' un modo di dire, qui in UK si crepa dal freddo). Nelle migliori tradizioni, alla mia richiesta di tre giorni per rifattorizzare una parte importante dell'engine caduta un attimo in abbandono, la risposta e' stata un "forse, non lo so, devo vedere con il lead, ma e' davvero essenziale? hai gia' finito il task".Se mi oppongono ulteriori problemi ad allocarmi tempo per i refactoring, usero' la tecnica di Fowler: fallo e non dire nulla a nessuno....

posted @ venerdì 17 agosto 2007 12:41 | Feedback (19) | Filed Under [ Programming ]

"L'ideale e' minimizzare al massimo i cambiamenti"

L'ideale per me e' Keira Knightley che si lava, non rompe mai le balle e ama solo me... ma non credo che accadra' e allora perche' sperarci?  In quindici anni che programmo non ho mai visto un progetto durante il quale le richieste fossero fisse, le feature necessarie non cambiassero mai, si sapesse in anticipo tutto cio' che era necessario scrivere e come risolvere ogni problema, con richieste precise e circostanziate descritte nel dominio della soluzione. Non e' mai successo e allora perche' sperarci? E' un periodo di grandi dilemmi di Ingegneria del Software questo in ufficio e anche oggi ho...

posted @ mercoledì 8 agosto 2007 19:22 | Feedback (17) | Filed Under [ Programming ]

"Ma e' stato in piedi fino alle tre del mattino a fissare bug"

E quindi? Questa e' la mentalita' nella Game Industry. Se scrivi una cosa complicata, sovraingegnerizzata, perfettamente inutile, completamente ingestibile che non fa il suo lavoro perche' cerca di farne anche tanti altri che non servono, che fa perdere milioni di dollari in tempo alla compagnia e stai fino alle tre di notte a correggere bug, allora sei un ottimo programmatore. Questo ragazzo umanamente ha tutta la mia simpatia, e' sotto pressione come ho visto pochi esempi, ma professionalmente no: ha sbagliato su tutta la linea, non ha accolto i consigli di chi glielo faceva notare mesi e mesi fa, e sbaglia tutt'ora...

posted @ lunedì 30 luglio 2007 13:07 | Feedback (20) | Filed Under [ Programming ]

3D For Dummies: Bump Mapping e Normal Mapping

Chissa' se daro' seguito a questa idea del 3D For Dummies; al novanta per cento no, ma questa e' la prima (e molto probabilmente ultima) puntata. Leggendo recensioni e speciali sui videogiochi si leggono spesso nomi di esotiche tecniche come Bump Mapping, Normal Mapping, Parallax Mapping. Ma che cosa sono? Concetti al di la' della comprensione umana, dedicati a pochi guru, di solito provvisti di enormi occhialoni? No, non lo sono, io porto le lenti a contatto. Bump Mapping. Una bumpmap e' un una texture dove per ogni texel (pixel della texture) e' memorizzata un'altezza in una qualche scala, invece di...

posted @ sabato 16 giugno 2007 12:47 | Feedback (24) | Filed Under [ Programming ]

Intervista a Maurizio Sciglio di RealTime Worlds

http://www.gamesblog.it/post/3137/intervista-di-maurizio-sciglio-di-realtime-worlds Enjoy.

posted @ venerdì 23 marzo 2007 13:46 | Feedback (17) | Filed Under [ Programming ]

Spot the difference

Non e' una bella giornata, e questo post non dovrebbe essere mai scritto, tanto meno da qualcuno che lavora in un'industria spesso considerata "cool" e frequentata da programmatori che spaccano il byte, gente che strizza il singolo ciclo macchina dalle console. Ma mentre strizzano i cicli di clock, si ricordino anche di non copia e incollare intere classi, cambiare due righe di codice e farne il commit. Ed e' cosi' che dopo aver speso due settimane a fissare lo stesso identico bug in quattro posti diversi mi sono deciso ad andare un attimo piu' a fondo nella questione: qualcuno e'...

posted @ giovedì 22 febbraio 2007 18:13 | Feedback (43) | Filed Under [ Programming ]

L'alba di un nuovo motore 3D

La storia di come e' nato l'engine di Fable 2:http://www.lionhead.com/news/community12k7.htm     In quel periodo io stavo ancora lavorando su Black&White 2 ed ero in pieno bug fixing.

posted @ mercoledì 17 gennaio 2007 14:13 | Feedback (2) | Filed Under [ Programming ]

Intervista a John Carmack: console next-gen e multiprocessing

L'intervista e' a questo link:http://www.gameinformer.com/News/Story/200701/N07.0109.1737.15034.htm?Page=1 Un passo interessante e' il seguente: None of my opinions have really changed on that. I think the decision to use an asymmetric CPU by Sony was a wrong one. There are aspects that could make it a winning decision, but they’re not helpful to the developers. [...] I do sweat about the fragility of what we do with the large-scale software stuff with multiple programmers developing on things, and adding multi-core development makes it much scarier and much worse in that regard. Il discorso generale riguarda la scelta di passare a CPU multi-core (simmetriche...

posted @ giovedì 11 gennaio 2007 16:15 | Feedback (10) | Filed Under [ Programming ]

Xbox 360 SDK, Windows Vista e Virtual Machine

E' presto detto: l'SDK del 360 non supporta Vista. Chi (come me) vuole tentare l'impresa di sviluppare per 360 sotto Vista va in contro potenzialmente a svariati problemi. Inoltre Visual Studio 2003 fa a botte sempre con Vista. Al ritorno dalle vacanze (e chiamiamole vacanze per dargli un tono) mi hanno dato il PC nuovo, un Core Duo con 3.25gb di RAM, ed ormai sono troppo abituato a Vista per non usarlo come mio ambiente principale anche in ufficio e su questa macchina. Senza speranze? Sono testardo, ho installato l'RTM di Vista, Visual Studio 2003, l'XDK (che si e' lamentato...

posted @ giovedì 4 gennaio 2007 15:25 | Feedback (19) | Filed Under [ Programming ]

La genesi di un effetto 3D

O almeno quello che nel mio caso e' il processo che porta dall'idea di un effetto 3d in tempo reale al vederlo sullo schermo e possibilmente nel gioco finito. L'idea di un effetto 3D puo' nascere da una richiesta di un game designer o di un'artista, oppure semplicemente da una cosa che ho voglia di provare (ma molto piu' raramente). Il mio primo passo e' sempre prendere ispirazione dalla vita reale, infatti spesso Stella mi trova imbambolato a fissare magari il cielo, oppure le ombre per terra, il mare, e scattarne foto. A volte mi scopre a mormorare qualcosa di incomprensibile...

posted @ giovedì 21 dicembre 2006 18:27 | Feedback (1260) | Filed Under [ Programming ]

Lambda functions in C++/0x

Link interessante:http://www.regdeveloper.co.uk/2006/09/22/cplusplus-lambda-future/ Risolverebbero elegantemente molti dei problemi che mi impediscono di usare gli algoritmi STL e mi riducono a scrivere nel 99% dei casi i cicli a mano. Molto elegante.

posted @ lunedì 2 ottobre 2006 19:40 | Feedback (11) | Filed Under [ Programming ]

Uncyclopedia su Java

"Saying Java is good because it works on all operating systems is like saying anal sex is good because it works on both genders" http://uncyclopedia.org/wiki/Java    

posted @ giovedì 29 giugno 2006 19:07 | Feedback (31) | Filed Under [ Programming ]

Game Developers Conference Europe - 22 Agosto - Lipsia

Dopo gli americani, anche gli europei hanno avuto la brutta idea quest'anno di invitarmi a parlare al Game Developers Conference che si terra' a fine agosto a Lipsia. Non conoscendo bene ne' l'inglese ne' l'informatica (tm) credo che gli parlero' in italiano di come preparare il ragu'. A parte gli scherzi ripresento la stessa sessione presentata a San Francisco sull'algoritmo di High Dynamic Range Rendering (qui) che ho implementato per Black&White 2 (e per inciso anche in Fable 2). L'unica differenza questa volta sara' l'assenza di jet lag e la qualita' della birra. Se siete in quella zona a fine Agosto passatemi...

posted @ giovedì 22 giugno 2006 18:36 | Feedback (2) | Filed Under [ Programming ]

HDR meets Black&White 2 GDC 2006

Ho messo a disposizione per il download le slide di una delle due sessioni che ho tenuto al GDC 2006 a San Jose:HDR Meets Black&White 2 GDC 2006 La discussione e' relativamente tecnica, ma la matematica usata e' molto basilare quindi dovrebbe essere abbastanza facile da seguire anche per un non addetto ai lavori. Le slide sono in inglese.L'argomento trattato e' una mia implementazione di High Dynamic Range Rendering, tecnica particolarmente di moda nell'ultimo periodo. Metto anche a disposizione un breve articolo di introduzione sull'HDR Rendering, scritto per una rivista tempo fa, molto piu' discorsivo:High Dynamic Range RenderingEnjoy.

posted @ giovedì 1 giugno 2006 11:39 | Feedback (14) | Filed Under [ Programming Black&White 2 ]

Timer, test e contratti

Ieri per risolvere un bug di Diamonds e' stato modificato il codice del Timer del gioco. Questa modifica mi ha portato a scrivere un post sul forum di sviluppo che riporto qui. I concetti dietro a questo post mi sembrano abbastanza generali e interessanti. Ho guardato il nuovo codice di Timer a casa, ma non ho avuto il tempo di postarlo. A parole quello che fa e' memorizzare il tempo trascorso dalla creazione del timer al momento della chiamata ad advance() e poi restituisce quel tempo in getTime(). Questo cambiamento risolve il problema evidenziato da cionci, quindi va bene, e' un comportamento del...

posted @ giovedì 4 maggio 2006 12:16 | Feedback (3) | Filed Under [ Programming ]

Diamond Crush: First Playable is out today

www.diamondcrush.net Enjoy :)

posted @ lunedì 24 aprile 2006 16:08 | Feedback (33) | Filed Under [ Programming ]

Call For Help: Java Virtual Machine open source?

Chi conosce una Java Virtual Machine open source e portabile che posso compilare ovunque (magari su un PowerPC) e mi esegua semplici .class? Non ho bisogno dei servizi avanzati di Java (niente reflection, o servizi di rete, o grafica), ma qualcosa di molto semplice e che mi permetta di consumare codice nativo da Java e viceversa. Ho in mente di commettere un crimine efferato contro l'xbox 360, eseguirci sopra il Lato Oscuro. Mi rivolgo soprattutto a te Lorenzo, sei tu l'esperto di Lato Oscuro qui ;) Grazie!

posted @ venerdì 21 aprile 2006 12:20 | Feedback (11) | Filed Under [ Programming ]

Diamond Crush: Annunciata la First Playable!

La build e' in fase di bug fixing da una settimana e sara' chiusa domani alle 22 e rilasciata al pubblico lunedi' prossimo. Dopo piu' di sei mesi di sviluppo con largo di metodologie agili (Unit Testing, Test First Programming, Continuous Integration) il numero di bug riscontrati durante la settimana di bug fixing e' stato inferiore a trenta, con meno di dieci bug critici. E' un risultato sicuramente incoraggiante. Riporto qui di seguito la prima Press Release che annuncia la First Playable di Diamond Crush. Press Release no. 001Subject: Diamonds ProjectIl Diamonds Team (nome provvisorio), un team di sviluppatori non professionisti...

posted @ giovedì 20 aprile 2006 22:26 | Feedback (12) | Filed Under [ Programming ]

Intervista a... me

Oddio, quando faccio cosi' mi vergogno di me stesso e mi auto dico che dovrei andare a lavorare... comunque, ecco il link all'intervista su gamesblog.it, dove chiacchiero con un amico riguardo al game development: http://www.gamesblog.it/post/1224/intervista-a-francesco-carucci-di-lionhead-studios Nel frattempo sono tornato sano e salvo dalla California ed ho ritrovato quello che avevo lasciato: vento e pioggia e jet lag. C'e' voluta una settimana per riprendermi, ma il vento e la pioggia sono rimasti.  

posted @ lunedì 3 aprile 2006 19:41 | Feedback (3) | Filed Under [ Programming ]

Febbraio: XFest06 e Siviglia

Nel mese di Febbraio ho totalizzato un impressionante zero alla casella "numero di post nel mio blog". Ma qui non stiamo facendo a gara a chi scrive piu' post sul blog vero? :) Febbraio e' stato un mese pesante ma eccitante, da una parte il trasloco nella casa nuova assieme a Stella, dall'altra il lavoro e qualche viaggetto in giro per l'Europa. Non ho avuto il tempo di annoiarmi. Ma andiamo per ordine.XFest06. Si e' tenuto a Londra allo stadio del Chealsea (no, Lampard non ha partecipato) ed e' stato molto interessante, quanto geek: sostanzialmente un'invasione di nerd, me compreso. Ho...

posted @ sabato 4 marzo 2006 19:49 | Feedback (10) | Filed Under [ Programming ]

Owning Carmack since 1994 (C)

  http://www.dosgamesonline.com/index/game/Nibbles/505/ Neppure ricordavo di averlo mai rilasciato :D

posted @ giovedì 19 gennaio 2006 18:21 | Feedback (10) | Filed Under [ Programming ]

Novita' del 2006

Ed ecco il mio primo post dell'anno in colpevolissimo ritardo. Le novita' riguardano un giocattolo nuovo arrivatomi da ATI: una scheda grafica di prossima uscita. Il gioco e' scrivere una patch che ne sfrutti le potenzialita' di HDR e antialiasing. L'idea e' di simulare l'autoesposizione dell'occhio quando il livello di luminosita' della scena cambia, ad esempio quando si passa dal giorno alla notte, da una stanza buia all'esterno illuminato. Il risultato di questa “ricerca” dovrebbe uscire in un paio di settimane, ed avra' qualcosa a che fare con la mucca. Stay tuned. In orari piu' lavorativi invece sto facendo acqua come al...

posted @ lunedì 16 gennaio 2006 19:51 | Feedback (6) | Filed Under [ Programming ]

DirectX 10 Technology Preview

... ovvero: Rivoluzione.Questa e' la risposta di Microsoft alla lenta morte del gaming su PC. Un ampio set di funzionalita' garantite per ogni GPU che supportera' l'API, taglio del cordone ombelicale col passato, la compatibilita' all'indietro e' stata abbandonata. Questo ha permesso una razionalizzazione dell'API, la specificazione piu' in dettaglio delle funzionalita' e l'eliminazione degli odiati CAPS bits. Al di la' delle funzionalita' esposte dall'API che sono comunque di alto livello, la reale novita' sara' minori tempi di sviluppo e soprattutto di testing che un livello di funzionalita' garantito puo' offrire allo sviluppatore su PC. Sviluppare su PC potra' diventare piu' simile...

posted @ giovedì 15 dicembre 2005 12:31 | Feedback (6) | Filed Under [ Programming ]

Pair Programing Live

Ho gia' parlato di Diamonds in questo blog: e' un progetto didattico di un gioco in Java (il lato oscuro) scritto con metodologia molto agile, tanto che i partecipanti al progetto sono in nazioni diverse. Ogni tanto capita che per svolgere un task, due partecipanti si trovino temporalmente vicini, allora usano il forum per una sessione di Pair Programming letteralmente live.Oggi e' toccato a me. Ed ecco che fra pause per il pranzo, Stella che mi chiede di passare l'aspirapolvere, un test qui e uno li', scriviamo ogni post letteralmente mentre programmiamo, e quindi riportiamo anche gli errori che commettiamo e le soluzioni;...

posted @ domenica 11 dicembre 2005 15:49 | Feedback (11) | Filed Under [ Programming ]

"No files were found to look in.Find was stopped in progress." in Visual Studio 2003

 It also deserves a nomination in the problem solving category Spin around on your chair 3 times, clap your hands twice and then press... because the solution is to press Control + Scroll Lock and all is fixed. Bah. E funziona pure. Biliki

posted @ giovedì 8 dicembre 2005 18:32 | Feedback (337) | Filed Under [ Programming Photography ]

XBOX360: E luce fu...

... la casetta si e' illuminata.Un passo per volta, pian piano si arrivera' alla mucca.. e oltre... (Bloggo un po' monotematico ultimamente)

posted @ mercoledì 2 novembre 2005 19:35 | Feedback (9) | Filed Under [ Programming ]

XBOX360: L'avventura continua...

L'idillio con il mio nuovo giocattolo prosegue. Ci intendiamo a vicenda, oddio, ogni tanto fa i capricci, decide di resettarsi e mi fa aspettare i suoi comodi. Ma io con lui sono paziente e lo assecondo. E cosi', dopo una settimana passata a imparare la code base e leggere i doc tecnici, ho finalmente messo a schermo la mia prima casetta con le sue brave texture. Non e' la mucca, ma e' pur sempre un inizio. Il devkit e' dannatamente divertente da usare e dannatamente potente: praticamente e' un PC molto high-end inscatolato in un case minuscolo e stiloso. La scheda...

posted @ martedì 1 novembre 2005 19:59 | Feedback (4) | Filed Under [ Programming ]

XBOX360: L'inizio di una nuova avventura

Ho passato la mattinata a montare il devkit dell'X360 e installare il PC ed ora il bimbo e' qui, al mio fianco, che sorride. Ora c'e' una montagna di tech sheet e doc da leggere, una nuova code base da imparare e tanto codice (rigorosamente unmanaged) da scrivere. Praticamente sono un bimbo felice coi giocattoli nuovi :D

posted @ mercoledì 26 ottobre 2005 15:32 | Feedback (8) | Filed Under [ Programming ]

Un Gioco Agile dal Lato Oscuro

Ovvero un piccolo progetto che sto portando avanti con un gruppo di ragazzi. Lo so, e' in Java, ma continuate a leggere perche' l'idea e' interessante, perche' esplora l'applicazione di metodologie di sviluppo agili in due situazioni che non sono proprio considerate ideali: Lo sviluppo di un gioco, che per quanto in 2D e piuttosto semplice, propone problematiche differenti dalle piu' conosciute applicazioni gestionali magari. Sviluppo distribuito dove i partecipanti si trovano fisicamente separati l'uno dall'altro; a complicare le cose la maggior parte dei ragazzi che partecipano sono alle prima armi, non hanno quasi mai visto Java prima (come me :p), non hanno...

posted @ lunedì 24 ottobre 2005 18:16 | Feedback (14) | Filed Under [ Programming ]

Videogiochi e .NET? Questo matrimonio s'ha da fare al Workshop

Il 12 e 13 Ottobre si svolge il Workshop "Migration & Interoperability" a Milano e qualcuno ha avuto la malaugurata idea di farmi parlare di Videogiochi in un ambiente cosi' serio.O meglio, di farmi parlare di .NET e Videogiochi, un connubio che in molti considerano blasfemo. A Milano cerchero' di capire se e' possibile sfruttare un ambiente managed in un ambito cosi' esasperato dalla ricerca delle prestazioni come la grafica 3D in tempo reale. E cerchero' di convincere i presenti che, si', e' possibile sfruttarlo, ma a patto di capire con precisione dove e come, e di usare gli strumenti giusti ovviamente. E lo strumento...

posted @ mercoledì 28 settembre 2005 19:29 | Feedback (11) | Filed Under [ Programming General ]

C++/CLI, mai piu' senza...

Da qualche settimana sto giocando con C++/CLI, perche' e' proprio come un bel giochino nuovo. Lo affronto dal lato di quello che vuole imparare le nuove estensioni (ma in realta' e' un linguaggio) senza leggere alcun manuale, facendo esperimenti, come papa' Ron Jeffries ci insegna. template value class Handle{public:  Handle(T^ t)  {      m_GCHandle = GCHandle::Alloc(t);  }   void* ToPointer(void)  {      IntPtr handle = GCHandle::ToIntPtr(m_GCHandle);      return handle.ToPointer();  }   static T^ ToTarget(void* pointerToTarget)  {       return (T^) GCHandle::FromIntPtr((IntPtr) pointerToTarget).Target;  } private:    GCHandle m_GCHandle;}; Un template di una value class che accetta un tipo managed. Ma non e' adorabile?

posted @ lunedì 26 settembre 2005 19:55 | Feedback (6) | Filed Under [ Programming ]

Powered by:
Powered By Subtext Powered By ASP.NET