[Linux-programlama] alloca?

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: İsmet Sönmez (isonmez@bek.org.tr)
Date: Tue 11 Apr 2006 - 19:28:13 GMT


Merhabalar,
 
Alloca kullanarak yaptığım bir fonksiyonum düzgün çalışmıyor.
Yardımcı olursanız sevinirim.
 
Öncelikle SCR_Fill fonskiyonunda tanımlanıyor.Bu fonksiyona BOŞLUK bas
dediğim zaman
lcd_puttext fonksiyonunda b ile giden string b[0] değer atılmamış ama
b[1] atılmış.
Değer atamalar ardışık geliyor.
 
Acaba alloca ile alınan hafızaya yanlışmı atama yapıyorum.
 
void SCR_Fill (int x1, int y1, int x2, int y2, int ch, int colour)
{
  int i;
  int size = (x2-x1+1) * (y2-y1+1);
  int fill = (colour << 8) + ch;
  word *buf = alloca (2*size);
  word *b = alloca (size);
  
  if(scr_type==0)
  {
  for (i = 0; i < size; i++)
   buf[i] = fill;
   puttext (x1, y1, x2, y2, buf);
  }
  else
  {
  for (i = 0; i < size; i++)
   b[i] = ch;-------------------->Örneğin boşluk basırıyorum.Ama bir
boşluk bir NULL yapıyor.
   lcd_puttext (x1, y1, x2, y2, b);
  }
}
 
int lcd_puttext (int left, int top, int right, int bottom, const char
*source)
{
 int Row,Col;
 int Y,X,i;
 
 Y = lcd_wherey ();
 X = lcd_wherex ();
 i = 0;
 for (Row = top ; Row < bottom + 1 ; Row++)
 {
   lcd_gotoxy (left,Row);
   for (Col = left ; Col < right + 1 ; Col++)
   {
     lcd_putch(source[i]);------------------------------>ekrana basma
işlemi burada gerçekleşiyor.
    i++;
    }
  }
 lcd_gotoxy (X,Y);
 return 0;
}
 
 
 
İsmet Sönmez
Bursa Ecza Koop.
Tel:224 270 0164
 

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.