C Programlama diliyle şamatalar

Başlatan z, 23 Ekim 2011, 15:32:04

M_B

Merhabalar
C de dizi tanımlamalarında 3 ve üstü tanımlamalarla ilgili  derin dokumana ve anlatıma rastlamadım.  (Genelde hep yüzeysel anlatım mevcut )
Örnegin şu şekilde   Dizi [2][3][4]
3 boyutlu bir dizi tanımladım diyelim 2  / 3 / 4 anlamları nedir.

Veya alt resimdeki tabloda 3 boyutlu tanımlanmış dizinin acıklaması nasıldır ? ( anlayamadım )


indeks[2][0][1]  de 56 yi göstermiş.
Burda 2 ye  2.satır desek
0   ?
1   ?
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

CoşkuN

Alıntı yapılan: M_B - 19 Şubat 2014, 10:38:36
Merhabalar
C de dizi tanımlamalarında 3 ve üstü tanımlamalarla ilgili  derin dokumana ve anlatıma rastlamadım.  (Genelde hep yüzeysel anlatım mevcut )


Belki de 3'den fazla boyuta ihtiyaç olmadığındandır. Aynı şeyi daha basit bir yaklaşımla çözmek daha uygun olabilir. Böyle çok karışık olmaz mı?

Burak B

Dizi elemanlarını struct yapın.
"... a healthy dose of paranoia leads to better systems." Jack Ganssle

X-Fi

Keil programında derleme sonrasında kodun içinden derlenilen kodun boyutunu çağırmanın bir yolu varmı?
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

z

Romun adresi belli.

Yazacagın fonksiyon romun başından itibaren romun sonuna doğru verileri tarasın. 0xFF... ler ard arda gelmeye başladığında boş alana geldin demektir.

Burdan işlemci kod uzunluğunu bulmuş olur.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

X-Fi

zaten o şekilde yapıyorum hocam teşekkürler.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

z

Aslında bir yöntem daha var.

Ne kadar işe yarar bilmiyorum. Programın en sonuna bir fonksiyon ekle. Romdaki program boyu bilgisine ihtiyacın olduğunda bu fonksiyonun adresini öğren. Bu değerden rom başlangıç adresini çıkartırsan tüm programın boyunu çok az hata ile öğrenmiş olursun. Buna 3...5 daha ekleyip gerçek sonucu da hesaplayabilirsin.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

ercan_t

merhaba
keildeki proje  ismine sağ tıklayıp  map dosyasını açtığımızda en alt satırda yazan kısın kod boyutunu vermiyor mu? bunu mu demek istediniz..
örnek olarak : RO size 12Kb gibi yazıyor

    Total RO  Size (Code + RO Data)                12920 (  12.62kB)
    Total RW  Size (RW Data + ZI Data)               568 (   0.55kB)
    Total ROM Size (Code + RO Data + RW Data)      12960 (  12.66kB)



X-Fi

Hocam kodun boyutunu tam olarak bilip crc almam gerekiyor. Her derlemede kendim yazmak istemiyorum. Bu 32 lik crc yi versiyon eşiti olarak kullanmak istiyorum.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

z

O zaman bos ver program uzunlugunu, "CRC"yi tum rom boyu icin hesapla. Bos olan rom alanlari 0xFFFF datasi olarak isleme alinsin.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

X-Fi

Onu denedim olmadı diye hatırlıyorum yarın tekrar denerim. C# ile aynı kodu .bin kaynak kodundan crc oluşturuyorum adreslerde atlamalar olursa veya hepsini alırsam standart bir kod çıkartamıyorum.

winrar-winzip gibi programların oluşturduğu crc ile aynı polinomu işledim. Sonucu aynı yakalamam için bitiş adresi gerekli.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

muhittin_kaplan


Mucit23

Soft I2C'de bit tanımlaması için şöyle bir macro kullanayım dedim

#define SDA(x) ((x) ? (GPIOB->BSRR = SDA_Pin) : (GPIOB->BRR = SDA_Pin))

derlemede sıkıntı yok ama kullanıma geçince keil aşağıdaki hatayı veriyor

Hardware\I2C\I2C.c(33): error:  #136: struct "<unnamed>" has no field "BSRR"


Sebebi nedir? Yanlış kullanımmı söz konusu?

unknownperson

printf() scanf() deki "f" fonksiyon mu demek ? Öyleyse parantez de fonksiyonun içi mi oluyor ?

Tagli

http://answers.yahoo.com/question/index?qid=20071220030343AApQcDk
Fonksiyonun biçimlendirilmiş (formatlanmış) çıktı verdiğini gösteriyor. Sadece bir isimlendirme yöntemi, çalışması ile ilgisi yok. Bu sınıftaki fonksiyonların tırnak içindeki bölümleri format olarak adlandırılıyor.
Gökçe Tağlıoğlu