|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jan 2006
Messaggi: 81
|
[REQ]Grafica in C, problema ad iniziare...
Ciao a tutti, sto iniziando a sperimentare la grafica in C. Ma non voglio
utilizzare librerie già fatte, vorrei partire un po' dalle fondamenta. Beh, il programma che mi da problemi è questo: ---------------------------------------------------------------------- void putpixel(unsigned int x, unsigned int y, char color, char far *vscr) { ..... } int main(){ asm ("movl 0x13, %eax"); //Funzione 13 asm ("int $0x10"); //Interrupt video } ----------------------------------------------------------------------- Ho un sistema operativo Windows XP. E uso Dev-C++ per compilare. Innanzitutto la funzione "putpixel" genera un errore del tipo: " expected `,' or `...' before '*' token " Togliendo questa funzione e lasciando solo il main, mi si genera un errore di windows del tipo "l'applicazione ha generato un errore e sarà terminata". Non riesco proprio a capire dove sia il problema... Inoltre non è che avreste da consigliarmi qualche tutorial o qualche lettura che mi spieghi come fare un po' di grafica (tipo bitmap, da videogiochi tipo pacman, qbert per intenderci) con il C senza usare librerie particolari come Allegro, DirectX o OpenGL ? grazie |
|
|
|
|
|
#2 | ||
|
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Quote:
Quote:
High Flying Sottovento
__________________
In God we trust; all others bring data |
||
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jan 2006
Messaggi: 81
|
SVC? Non saprei, cmq il codice d'errore di windows è il seguente:
AppName: 004D006F00640061006C0069007400E0002000670072006100660069006300610031002E006500780065 AppVer: 0.0.0.0 ModName: 004D006F00640061006C0069007400E0002000670072006100660069006300610031002E006500780065 ModVer: 0.0.0.0 Offset: 000012d8 Mi hai detto che il "far" è una cosa un po' vecchia e nei nuovi sistemi non funziona. Mi potresti dire come fare senza di quella? grazie |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Quote:
SVC significa "SuperVisor Call". E' un nome generico per indicare le chiamate di sistema. Ogni sistema operativo ha i propri nomi per indicarle (API di sistema, Interrupts, ...). Purtroppo i sistemi sono tanti e la memoria poca (la mia, intendo). Hai la documentazione dell'Interrupt in questione sottomano? Per quanto riguarda la questione del "far": dovrebbe bastare eliminarlo. Un tempo serviva sui processori x86 per indicare quale modello di memoria doveva essere usato per l'indirizzo. (Al tempo l'indirizzo era formato dalla combinazione di segmento ed offset, e la combinazione corretta era stabilita dal modello di memoria). Beh, perdonami ma il mio tempo e' scaduto, vado a dormire. Cmq c'e' gente piu' in gamba del sottoscritto che sapra' aiutarti High Flying Sottovento
__________________
In God we trust; all others bring data |
|
|
|
|
|
|
#5 | ||
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Quote:
Quello che non hai specificato è se vuoi realizzare della semplice grafica all'interno di una finestra oppure vuoi realizzare della grafica in modalità full-screen "esclusiva". Nel primo caso, il sistema più semplice è usare GDI, la libreria grafica principale di Windows. Nel secondo caso devi per forza usare DirectX oppure librerie esterne come SDL, Allegro, ecc... (che a loro volta si appoggiano, presumo, a DirectX).
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
||
|
|
|
|
|
#6 | ||
|
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Quote:
Quote:
Quello che vuoi realizzare lo puoi fare se hai un computer MS-DOS
__________________
In God we trust; all others bring data |
||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:37.



















