Picproje Elektronik Sitesi

DERLEYİCİLER => Hi-Tech => Konuyu başlatan: tyilgin - 09 Ocak 2008, 09:40:55

Başlık: include edilen kütüphanedeki mükerrer kütüphanelern sor
Gönderen: tyilgin - 09 Ocak 2008, 09:40:55
Arkadaşlar  fonksiyondan string değer döndürmek konusunda bir sorunum kalmadı. Cevaplarınız için ayrı ayrı teşekkür ederim..

Her sorum için başka bir konu açarak forumu doldurmamak için burada devam etmek istiyorum.

proje dosyamdaki bazı bölümleri ayrı bir c dosyasında tutarak ana programın içine include ile ekliyorum. ancak bir kütüphane 2 ayrı c dosyasında da olunca "Multiply defined" hatası veriyor. #ifdef kullanmayı düşündüm ancak onunlada neyi kontrol edeceğimi bilemedim.

örneğin delay.c kütüphanesini hem ana kodda hemde alt kodlarda tanımladığımda bu sorun ortaya çıkıyor.

sizce nasıl bir yol izlemeliyim ?
Başlık: include edilen kütüphanedeki mükerrer kütüphanelern sorunu ?
Gönderen: parda - 09 Ocak 2008, 10:12:58
Merhaba;

Bu iş C de en güzel pointer ile yapılır (C ++ kullanıyor isen string class tabiki daha iyi)
örneğin

void fonkadi(char *cDonecek)
{
*(cDonecek) = 'a';
*(cDonecek+1) = 'b';
*(cDonecek+2) = 'c';
*(cDonecek+3) = '\0';
}

-----
char[10] cStr;

fonkadi(&cStr);//cStr="abc";

pointer konusunu irdelersen kendine ve amacına daha uygun bir yol bulabilirsin

Not: Kullandığın derleyici farklılık gösterebilir derleyicinin dökümanlarını inceleyin

kolay gelsin
Başlık: include edilen kütüphanedeki mükerrer kütüphanelern sorunu ?
Gönderen: burak_82 - 09 Ocak 2008, 10:14:27
char* fonksiyon(void) şeklinde tanımlayıp pointer olarak geri dönebilirsin. Bu pointeri de dizi olarak kullanabilirsin.
Başlık: include edilen kütüphanedeki mükerrer kütüphanelern sorunu ?
Gönderen: tyilgin - 09 Ocak 2008, 11:04:46
Arkadaşlar cevaplarınız için teşekkür ederim.

Derleyicim Hi-tech C 9.50

Aşağıdaki kod bu haliyle sorunsuz çalışıyor. Ancak fonksiyonu çağırırken değişkenin başındaki "&" karakterini koyarsam "Redurant "&" applied to array" hatası veriyor. & karakterini koymayarak, bu haliylede sorun çıkartmıyor ama ilerde sorun yaşayailirmiyim sizce ?


#include <pic.h>
#include <delay.c>
#include "LcdSurucu.h"

unsigned char veri[10];

void fonkadi(char *cDonecek)
{
*(cDonecek) = 'a';
*(cDonecek+1) = 'b';
*(cDonecek+2) = 'c';
*(cDonecek+3) = '\0';
}

void main() {
DelayMs(200);

lcd_init();
lcd_goto(0);
lcd_puts("Deneme");

fonkadi(veri);
lcd_goto(0x40);
lcd_puts(veri);

while(1);
}
Başlık: include edilen kütüphanedeki mükerrer kütüphanelern sorunu ?
Gönderen: parda - 09 Ocak 2008, 13:23:26
Derleyici farklılıklarından kastım buydu sorun yaşayacağını sanmıyorum.

Başarılar
Başlık: include edilen kütüphanedeki mükerrer kütüphanelern sorunu ?
Gönderen: arslan74 - 09 Ocak 2008, 13:44:22
Alıntı yapılan: pardaMerhaba;

Bu iş C de en güzel pointer ile yapılır (C ++ kullanıyor isen string class tabiki daha iyi)
örneğin

void fonkadi(char *cDonecek)
{
*(cDonecek) = 'a';
*(cDonecek+1) = 'b';
*(cDonecek+2) = 'c';
*(cDonecek+3) = '\0';
}

-----
char[10] cStr;

fonkadi(&cStr);//cStr="abc";

pointer konusunu irdelersen kendine ve amacına daha uygun bir yol bulabilirsin

Not: Kullandığın derleyici farklılık gösterebilir derleyicinin dökümanlarını inceleyin

kolay gelsin

Merhaba,

Arkadaş burada ufak, ama önemli bir hata yapmış.

Yazı tutan diziler.

örneğin;

unsigned char yazi1[]="deneme yazisi 1";


Şeklinde bir yazının başlangıc adresini(pointer) iki türlü tanımlayabilirsiniz. Birinci yol dizilerin ismini adres yerine geciyor, doğrudan dizinin isnin kullanabilirsin.
İkinci yol dizinin sıfırıncı elemanın adresini gecebilirsiniz. Her iki kullanımda olabilir. Ancak arkadaşımız burada dizi isminin başına adres operatörü kullanmış. Bu da şu adresin adrsi anlamına geldiği için hata veya uyarı verir.
Aşağıdaki gibi kullanabilirsiniz.



unsigned char yazi1[]="deneme yazisi 1";

unsigned char *pointer;

poniter = yazi1;

poniter = &yazi1[0];


lcd_puts("Deneme");

lcd_puts(yazi1);

lcd_puts(&yazi1[0]);

lcd_puts(pointer);

pointer = " test2";

lcd_puts(pointer);




şekline kullanılabilir.


Selamlar
Başlık: include edilen kütüphanedeki mükerrer kütüphanelern sorunu ?
Gönderen: tyilgin - 10 Ocak 2008, 22:38:21
Cevaplarınız için teşekkür ederim..