September 27th, 2008 — C
In questo articolo vi mostrerò come sfruttare praticamente i puntatori a funzione e le enumerazioni, o enum, in C. Se non sapete ancora di cosa stiamo parlando vi consiglio di leggere un manuale di C o altri tutorial a livello più basilare. Il mio solito consiglio è l’ottimo Kernighan & Ritchie.
Partiamo da un programma completo in C e analizziamolo in tutte le sue parti:
#include
typedef enum
{
HEX_MODE,
DEC_MODE,
BIN_MODE,
OUTPUT_MODE_MAX
} OutputMode;
typedef void (*printFuncCallback)(int c);
Continue reading →
July 30th, 2008 — C
In questo articolo vi mostrerò alcune tecniche e suggerimenti che vi consentiranno di acquisire una certa dimestichezza con l’aspetto più a basso livello del linguaggio C: le operazioni binarie o bitwise. Si presuppone una conoscenza di base del linguaggio, dimestichezza con il proprio sistema operativo e il compilatore installato. Il tutorial è stato scritto e testato su GNU/Linux con compilatore GCC, ma i concetti sono universalmente applicabili a qualsiasi sistema operativo e compilatore C da trent’anni a questa parte.
Il C fornisce alcuni operatori che, opportunamente combinati all’interno di espressioni, consentono la manipolazione dei singoli bit all’interno di un dato numerico. Per seguire proficuamente questo articolo è consigliabile, ma non indispensabile, affiancarsi ad un manuale di programmazione in C. Il mio consiglio, nel caso non ne aveste ancora comprato uno, è di affidarsi al buon vecchio Kernighan & Ritchie.
Gli operatori binari che useremo in questo tutorial sono:
a & b - Bitwise AND
a >> b - Right Shift
e inoltre useremo l’operatore ternario a ? b : c che è un operatore di selezione, simile al costrutto if..then..else. Continue reading →
December 13th, 2007 — Pascal
Oggi scriveremo il nostro primo programma in Pascal. Come ogni guida che si rispetti, iniziamo con un semplice “Hello World” per poi scendere nel dettaglio delle varie istruzioni e comandi del Pascal.
Presumo che abbiate già installato un compilatore Pascal e che abbiate dato uno sguardo al suo manuale, per avere idea di come compilare ed eseguire un programma sulla vostra piattaforma. Negli esempi che farò non mi occuperò del compilatore, ma soltanto del linguaggio in modo da essere più neutrale possibile.
Un piccolo cenno riguardo la mia configurazione
Se usate Ubuntu come sistema operativo potete installare e usare Free Pascal, che è il compilatore che userò io per scrivere le guide, con pochi e semplici comandi:
Installazione: sudo apt-get install fp-compiler fp-units-rtl
Compilazione di un sorgente: fpc nomefile.pas
Esecuzione di un programma: ./nomefile
Per scrivere il codice sorgente userò Gedit (Applicazioni -> Accessori -> Editor di testo) perchè mi consente di evidenziare la sintassi, ma potete usare un editor qualunque. Vi consiglio Scite, Bluefish, Gedit, Kate, nano o altri simili.
Continue reading →
December 11th, 2007 — SysAdmin
Studente di Informatica all’Università degli Studi di Palermo, classe 1986, sono appassionato di informatica e tecnologia da lungo tempo.
I miei progetti personali (in ordine, circa, dal più recente al più vecchio), in corso e non:
Ho collaborato a:
- GNU Mailing Lists - collaboro all’amministrazione delle liste, cancello i messaggi di spam
- Linux PHC - patch per il kernel Linux, aggiunge funzioni per il downvolting delle CPU Centrino/Core/Core2/AMD64 (Athlon64, Opteron, Turion64) (vecchio sito)
- JHANC - Traduzione del Jargon File in Italiano
- Altri progetti meno importanti di cui ho un vago ricordo…

Progetti persi nel nulla, svaniti nel vuoto o tragicamente troncati prematuramente
- KBox - Software rendering engine for realtime 3D graphics.
- SIMON9 - Editor esadecimale (Basic, parti in linguaggio macchina) per Commodore 64
- SpeedyEdit - Editor RTF (Delphi, Pascal) per Windows
- Porkanoid - fusione di due giochi classici, Pong e Arkanoid (C, librerie Allegro) per Windows/Linux/Mac OS X
- Carestia - studio per l’implementazione (C, parti in Assembly) di un kernel unix-like
- Joku - Programma per risolvere i Sudoku (Java) (risolveva solo gli schemi per ebeti, mai completato)
- ??? - Gioco platform 2D stile Super Mario (C++, librerie SDL) per Linux (buon motore fisico, mai completato il resto del gioco)
- Altri minori che dimentico il giorno dopo averli pensati…
Esperienze Lavorative
- Marzo 2008 - in corso: Programmatore presso la 7th Sense Studios, scrittura di game & graphics engine per Nintendo DS, linguaggio C.
Ultime news:
Altri contatti: