cubeide neden hata veriyor ?

Başlatan magnetron, 09 Nisan 2021, 15:01:40

magnetron

merhaba forum,

RTC HAL libdeki fonksiyonun başındaki static ibaresini kaldırdım

başka c dosyasındaki fonksiyondan çağırıyorum

neden gene bu hatayı veriyor

(RTC yi MX de aktive ettim)

teşekkür



Tagli

Normalde kütüphane dosyalarının içini değiştirmemelisin. Fonksiyonu static olarak tanımlamışlarsa bu demektir ki bu fonksiyon kütüphane arayüzünün bir parçası değil ve son kullanıcı tarafından kullanılması planlanmamış. Senin sadece kütüphane arayüzünde sunulan fonksiyonları kullanman gerekir. Aksi halde kütüphanenin çalışması olumsuz etkilenebilir ve hatalı sonuçlar alabilirsin.

static ifadesini kaldırmana rağmen fonksiyonun bulunamamasının nedeni muhtemelen header dosyasında yer almamasıdır. Bu şaşırtıcı değil, çünkü kütüphane içinde kullanılan ve arayüzün bir parçası olmayan fonksiyonlar genelde header dosyalarına konulmaz.
Gökçe Tağlıoğlu

volkanunal

#2
Static keywordünün fonksiyonda kullanılmasının sebebi, sadece ilgili dosya scope içerisinde kullanılmasını sağlamak. Yani client kodların ona erişimi zaten olmayacaktır. Sizin onu kaldırmanız erişebileceğiniz anlamına gelmiyor yani hocam. Zaten .h dosyası içerisinde ön bildirimi yoktur diye düşünüyorum ilgili fonksiyonun.

Edit : Tagli hocamız aynı şeyleri belirtmiş zaten, yazdıktan sonra farkettim.