Malloc dodelitve ne!

C

CMOS

Guest
Živjo,
Jaz sem uporabo malloc za dinamično velikost 2-D celo paleto za obdelavo slik.Ampak, ko sem poskusil velikost array vrednosti za več kot 15KB (120x120) Dodeljevanje pomnilnika ni in zato nisem mogel obdelati slike večje od 120 x 120 slikovnih pik.Jaz sem z uporabo Turbo C 3,0 delujejo v DOS Shell iz okna.
Je to največ pomnilnika, ki je lahko dodeljen za 2-D array?Kako naj ga še povečajo?

 
Čudno ...
Lahko kraj vzorec koda ilustrating ....

NeuralC

 
Kaj je spomin modelu, ki ga uporabljate?
Tiny, Large, hughe ...

 
neuralc wrote:

Čudno ...

Lahko kraj vzorec koda ilustrating ....

NeuralC
 
Kako velika je vaša sestavljač
v int?2 ali 4 bajti?

Mali model Verjetno vam samo 64k podatkov vesolja.Vaša druga zanka dodeljuje N * M * sizeof (int) bytes.Plus, da ne glede na sestavljač je že porabljene verjetno presega 64k.Poskusite različne pomnilnik modela.

 
Poskušal sem se z velikimi model, vendar še vedno ni sprememb.I celo spremenili kazalci na "daleč" in se uporablja farmalloc namesto malloc.Still dodelitev falis za velike slike!

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Žalosten" border="0" />
 
poskusite to:

int ** CreateImage (int M, int N)
(
int i;
int ** pt;
if ((pt = malloc (n * sizeof (int *)))== NULL)
(
sodišče << "Ni dovolj pomnilnika!";
getch ();
izstop (0);
)

for (i = 0; i <N; i )
(
if ((pt = malloc (M * sizeof (int )))== NULL)
(
sodišče << "Ni dovolj pomnilnika!";
getch ();
izstop (0);
)
)
vrnitev pt;
)

Z MS sestavljač imam tryed zgraditi niz 1200 * 1200 uspešno:
neveljaven glavne (ničen) (

int ** myImage = null;
myImage = CreateImage (1200,1200);
)HH

NeuralC

 
Obstaja povezava kako nastaviti jalovišče in stack velikosti, temveč tudi za Borland 4.5.Če TC3 ne podpira, da se lahko lahko chnage 4,5 različica
http://teaching.idallen.com/c_programming/changingRunTimeStack.html

Lahko napačno ravnanje različnih pomnilnika različice modela je predmet krivde v TC3.
Preverite Borland mestu - tam lahko hints

PS Dodeljevanje pomnilnika za smernice je dobro, da so hitrejši dostop, vendar ga boste uporabili ekstra 1200 * sizeof (int *) pomnilnik.Veš array geometrije apriori zato je odveč, da so dodatni kazalec array.

 
če ti nimajo nobene težave, da preklopite na drug prevajalnik, je bolje, da uporabite Microsoft Visual C in z uporabo "prave" Dodeljevanje pomnilnika rutinsko v OS sam (win32API), mislim, da je hitreje.V Win32API funkcije so:
1.VirtualAlloc
2.HeapAlloc
3.GlobalAlloc
4.LocalAlloclibrary function within the OS itself.

IIRC eden od ta funkcija se imenuje iz malloc
knjižnica deluje v OS sam.Kaj mislim s tem,
ali je funkcija malloc klicu bo treba razrešiti z "dinamično povezovanje proces" v eno od zgoraj navedenih funkcij.
Last edited by Pinczakko na 04 Sep 2004 10:49; edited 1 v času celotnega

 
Živjo,
Problem je zdaj rešenih.Sestavljač je bil problem z dajanjem farmalloc.Če poskusim za izvedbo mojega programa, ko je sestavljač prikazujejo, da je dajanje težavah.Vodenje zbrati. Exe po zaključnem sestavljač IDE del witout problemov.

 
Ta pomnilnik model stvari je čista agonija.Kaj pa prehod na novejšo sestavljač?Desetletji sem rabil Borland DOS orodja, potem pa sem odkril djgpp in pozneje mingw.Ive 'been odkar nasmejan.Oba sta brezplačna.
http://www.delorie.com/djgpp/ (GCC za DOS)
http://www.mingw.org/ (GCC za Windows)

 
Zdravo, kaj je "getch ()"?Imam problem sestavljanje kodeksov zgoraj.se pravi, neprijavljenega identifikator.

Ali moram glavo ali kaj?

Hvala!

 
getch () bo počakati, dokler uporabnik pritisne katerokoli tipko.Prav actiually vrne ASCII vrednost ključa.To je opredeljeno v "conio.h" Za c uporabi cin;

 
got it!vendar imam težave s izstop () zdaj .. nieway,
bom slika je iz mene .. hvala še enkrat!

btw, CMOS, to
isnt array u're stvar delaš, povezanih s protiminskim?se spomniš?Vprašal sem te, in o pragu stuffs

 
zkai2000 wrote:

btw, CMOS, to isnt array u're stvar delaš, povezanih s protiminskim?
se spomniš?
Vprašal sem te, in o pragu stuffs
 
ru bo to izraziti z uporabo GUI?

če im bo uporaba VB kot GUI,
bom moral shraniti c kode v dll.potem uporabi VB, da ga preberete obred?

 
zkai2000 wrote:

če im bo uporaba VB kot GUI, bom moral shraniti c kode v dll.
potem uporabi VB, da ga preberete obred?
 
Thats enem in hitrejši način da.Ali lahko napišete isto kodo v VB preveč.

 
Nope i cant .. coz i potrebo C , da opravim svoj spremembo usmeritve algoritem.Moram zamahu je matrika zemljevid okoli

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" />AFAIK, VB ne more storiti, da obred?

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Žalosten" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top