Kullanilmayan degiskenleri yoruma almak - Programlama Discussions on Arduino Türkiye Forum
ridvanaltun February 2017
simdi ben bunu yapinca oradaki kodlar kullanilmadigi icin derleyici gormuyor ve arduino ustundeki alani geri kazanabiliyorum
peki o alana ozgu tanimladigim degiskenleri yoruma almak icin ne yapmam gerek? degiskeni kodun icinde kullanamsam bile derleyici arduino icinde yer kapliyor
#ifdef OZELLIK 1
#if OZELLIK == 1
ilkinde 1 sayisini okumadi, 1 veya 0 olsun olmasin degisken tanimi oluyordu, nedeni sadece OZELLIK yazisini gormesi, OZELLIK icine ne tanimlanmis kontrol etmiyor
seklinde kullandigimda arduino ide `degisken tanimlanmamis` diyerek hata veriyor
eemuhendislik February 2017
Kullanmıyorsan sil gitsin...birde böyle deneyin..
projede 20 den fazla ozellik var, bu 20 ozellik proje icinde tek bir bolgede degil, bunun yaninda ozellikler icin tanimlanmis yuzlerce degisken var, kullanmadigim bir ozelligi kod icinde 5-10 farkli yerde yoruma almakla ugrasmak yerine belirttigim gibi #define kullaniyorum, ancak degiskenler hala arduinonun hafizasini kullaniyor, #define ile pasif hale getirilen kod parcasindaki degiskenleri yoruma alamiyorum
kullanmadigim degiskenler yer kapliyor mu ogrenmek icin kod icinde hic kullanmadigim sadece tanimladigim String veri tipinde bir kac tane degisken olusturdum. onceden soyledigim gibi, kod icinde degisken kullanilmadigi halde yer kapliyor. eger bir fonksiyon veya en basit haliyle bir kod parcasi #define gibi yontemlerle pasif haldeyse arduino icinde yer kaplamiyor. degiskenin yer kaplamasi ve pasif hale gelince hata vermesi sacmalik
diger dillerde diger derleyiciler nasil bir yontem izliyor bilmiyorum, bana cok sacma geldi, bence ide'de ki bir mantik hatasi bile olabilir
entegredevre February 2017
Hata değil, #if #endif komutları derleyici içindir. derleyme sırasıdna bu koşullar kontrol edilerek ona göre bir çıktı oluşturup işlemciye yollar. Geride kalan kodda ise yazdığınız her kod parçacığını mantıksal açıdan değerlendirmek zorundadır. Bu durumda değişken isimli değerinizi bulamadığı için hata vermesi normaldir.
şeklinde kullanırsanız sorun çıkmayacaktır. Derleme sırasında derleyici koşulu kontrol edecek, OZELLIK 1 tanımlanmamışsa altında kod bloğunu derleme işlemine katmayacaktır.