Kaksoispuskurointia...
// Kaksoispuskurointi. By naTech
// Kääntäjänä käytetään djgpptä!
// gcc -o esim.exe esim.c
#include <GO32.h>
#include <sys/farptr.h>
#include <dos.h>
#include <stdio.h>
#include <conio.h>
char *buf;
int main()
{
buf=(char *)malloc(64000); // Alustetaan puskuri
textmode(0x13); //Siirrytään grafiikkatilaan 320x200x8bit
buf[100*320+160]=12; //tässä piirretään punainen piste kohtaan 160x100
_dosmemputl(buf, 64000/4, 0xA0000); //Flipataan puskuri näyttömuistiin
getch(); //Odotetaan näppäintä
textmode(0x3); //Siirrytään tekstitilaan
}Miksiköhän includet ei näy oikein?
Minun moka. olen tehnyt kaiken väärin. sinnehhän tulee alkuun se 3 kertomerkkiä!
Se johtuu siitä että tiedostonnimien ympärillä on < (<) ja > (>) mutta koodinlisäysskripti ei muuta niitä ja sellain luulee että ne ovat joku tagi.
Laitoit koodin vähän väärään paikkaan, mutta nyt pitäisi olla oikein.
Kato, ite naTech! terve.
Ton rivin buf=(char *)malloc(64000); jälkeen:
if(buf==NULL) {
printf("\n Ei tarpeeksi muistia kaksoispuskurille!");
}KOMMENTOINTIIN EI KÄSITTÄÄKSENI AINAKAAN DJGPP YMPÄRISTÖSSÄ KÄYTETÄ "kolmea kertomerkkiä!!!", vaan
/* */
Niin tai //
Hienoa, että pojilla piisaa puhtia, mutta tällaiset vinkit ovat lähes täydellisen hyödyttömiä. Tämä palvelee vain henkilöitä, jotka tietävät jo mitä kaksoispuskurointi on, mutteivät osaa tehdä sitä DJGPP:llä (niinkin funktioiden parametrit tulisi selittää paremmin).
Tai asian voisi selittää ei DJGPP ympäristölle
ONKO TÄMÄKIN KOPIOITU LAMERTUTISTA
aa: ei ole. tosin olen oppinut sieltä kaiken näköistä, voi johtua siitä. Eikä tuota kaksois puskurointia oikein muulla tavalla voi tehdäkkään, paitsi taulukon voi varata myös näin:
int buf[64000];
Joo, sillein se veisi tilaa paljo enemmän.
fatal error C1083: Cannot open include file: 'GO32.h': No such file or directory <-HÖH
Õ________õ
sain virheilmoituksen "Ohjelma on liian suuri muistiin"
Muisti tulee muuten myös vapauttaa (free).
Aihe on jo aika vanha, joten et voi enää vastata siihen.