Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

CCS C vs Micro C

Başlatan GibsonSG, 29 Ağustos 2013, 12:28:12

LukeSkywalker

@pwm.c' nin mesajindaki bir konuyu aydinlatmakta yarar var. Mikroe derleyicileri 2007 den itibaren "pro" olarak surulmustur ve bunlarin tamami birbirlerini destekler. 2007'den onceki derleyiciye destek vermiyor mikroe.

Gökhan BEKEN

Alıntı yapılan: LukeSkywalker - 29 Ağustos 2013, 17:21:18
Bence önce PC'de geliştir diyen arkadaşlar yanlış yoldalar. PC dediğimiz sistem bir MCU'ya göre daha az gelişmiş bir sistem mi ki önce oradan başlanmalı programlamaya? C bir sistem dilidir. Basit 8 bit sistemlerden programlamaya başlanarak daha iyi öğrenilir. 
Bilgisayarda geliştirip, ilk etapta elektroniği karıştırma tavsiyemin bir sebebi var. Sonuçları kolayca görmek öğrenmedeki en önemli şeydir.
Yaptığı şeylerin sonucunu ekranla görmek ve ledlerle(hadi lcd olsun hoş onu sürmeyide öğrenmesi gerekecek neyse...) görmek arasında ne kadar fark var biliyorsunuz.
Bir şey daha var bir sorun olduğunda donanımda mı sorun var, yazılımda mı sorun var diye düşünmezsiniz. Yeni başlayan birisi donanımda bir ton hata yapabilir ve sorunun nerde olduğunu anlaması uzun sürer belkide hiç anlayamaz.
MCU programlamak bilgisayar programlamaktan daha zordur. Siz; "PC dediğimiz sistem bir MCU'ya göre daha az gelişmiş bir sistem mi ki önce oradan başlanmalı programlamaya?" diye sormuşsunuz. Bilgisayarda c dilini öğren derken işlemciye komut yaz demiyoruz, işletim sistemi yaz ram'i hdd yi, ekran kartını yönet demiyoruz. Değişkenleri, döngüleri, operatörleri, if yapısını, önişlemci direktiflerini öğrensin ve algoritma geliştirsin diyoruz. Daha fazla öğrenmek iyi olabilir ama bunlar şimdilik yeter kalanını MCU üzerinde de öğrenebilir.

Ha şunuda söyleyim sayısal elektronik bilmeyen, kapıları, binary sayı sistemini, hexadecimal sayı sistemini bilmeyenlerler bunlarıda öğrenmelidir. Temel sağlam olmalı. Hatta sadece elektronikçilerin değil bunları bilgisayar programcılarında bilmesi gerekiyor.
Özel mesaj okumuyorum, lütfen göndermeyin.

Mr.Java

Burası artık devirdaim yapar durur.Söylenecekler söylendi.Lafın özü şudur;

Sen dili yeteri seviyede öğrenmez,uygulama yapmazsan yarın veya öteki gün netten kütüphane ihtiyacın veya örnek kod ihtiyacın olup yazılmış programlara baktığında şu komut neydi,bu komut ne dönderiyordu demezsin,direk programa odaklanır,çeker alırsın programı.Aksi vakit kaybı..
Demek istediğimiz de odur.1 sene diye boşa uğraş diye örnek vermedik.Biliyorum diye atlarsan eğer 1 senede öğreneceğin PIC programlama 4 senede gene bitmez.Hep kitaplara bağlı kalırsın.İşin mantığını kavramadığın için zihin çabuk unutur.C dili kendi içerisinde ayrı bir dillere ayrılan kısımdır.Yani C öğrenmeye başladığında aslında tek dil öğrenmiyorsun.Misalen pointer kavramı ayrı bir dildir.Class'lar ayrı bir dildir.İşte dinamik bellek yönetimi ayrı bir dildir.Bunlar en baba kişide bile bir anda oturmaz.Bu nedenle tekrar diyorum.Temelin sağlam olması ŞART !


Edit:ANSI C standartı tüm komutları destekler diyen arkadaş.Sana bir sorum olacak.Çok basit soracağım.Biliyorsun ki bir bellek alanı birden fazla bellek alanını referans gösterebilir.Bu durumda derleyici o bellek alanda optimasyon yapamaz,yapmaz.Peki soruyorum ben derleyicide kod optimasyonu yapacağım ve derleyiciye bellek alanının tek bir işaretçi değişken tarafından yönetildiğini bildirmek istiyorum.ANSI C standartında nasıl yapmam gerekiyor ?

LukeSkywalker

Alıntı yapılan: Fkarizmatik - 29 Ağustos 2013, 21:51:09
Burası artık devirdaim yapar durur.Söylenecekler söylendi.Lafın özü şudur;

Sen dili yeteri seviyede öğrenmez,uygulama yapmazsan yarın veya öteki gün netten kütüphane ihtiyacın veya örnek kod ihtiyacın olup yazılmış programlara baktığında şu komut neydi,bu komut ne dönderiyordu demezsin,direk programa odaklanır,çeker alırsın programı.Aksi vakit kaybı..
Demek istediğimiz de odur.1 sene diye boşa uğraş diye örnek vermedik.Biliyorum diye atlarsan eğer 1 senede öğreneceğin PIC programlama 4 senede gene bitmez.Hep kitaplara bağlı kalırsın.İşin mantığını kavramadığın için zihin çabuk unutur.C dili kendi içerisinde ayrı bir dillere ayrılan kısımdır.Yani C öğrenmeye başladığında aslında tek dil öğrenmiyorsun.Misalen pointer kavramı ayrı bir dildir.Class'lar ayrı bir dildir.İşte dinamik bellek yönetimi ayrı bir dildir.Bunlar en baba kişide bile bir anda oturmaz.Bu nedenle tekrar diyorum.Temelin sağlam olması ŞART !


Edit:ANSI C standartı tüm komutları destekler diyen arkadaş.Sana bir sorum olacak.Çok basit soracağım.Biliyorsun ki bir bellek alanı birden fazla bellek alanını referans gösterebilir.Bu durumda derleyici o bellek alanda optimasyon yapamaz,yapmaz.Peki soruyorum ben derleyicide kod optimasyonu yapacağım ve derleyiciye bellek alanının tek bir işaretçi değişken tarafından yönetildiğini bildirmek istiyorum.ANSI C standartında nasıl yapmam gerekiyor ?
"ANSI C tüm komutları destekler diyen arkadaş"  derken beni kastediyorsanız eğer, ben öyle birşey demedim iyi okuyun yazdıklarımı.
optimasyon değil optimizasyon olacak.
Şurada anlatılmış.
Ayrıca ANSI 2000 yılında onu da kapsamıştır.

Mr.Java

Evet sizi kastettim.
Yazdıklarınızı okudum.
Uyarı için teşekkürler.
Linkteki açıklamada In the C programming language, as of the C99 standard, restrict is a keyword that can be used in pointer declarations.
Hiçbir ANSI C derleyicisi o komutu desteklemez.O komut yalnızca C99 standartında çalışır.Yani ANSI C ile çalışıyorsanız derleyicinizi muhakkak C99 standartına ayarlamak lazım.

LukeSkywalker

#20
Alıntı yapılan: Fkarizmatik - 29 Ağustos 2013, 23:22:00
Evet sizi kastettim.
Yazdıklarınızı okudum.
Uyarı için teşekkürler.
Linkteki açıklamada In the C programming language, as of the C99 standard, restrict is a keyword that can be used in pointer declarations.
Hiçbir ANSI C derleyicisi o komutu desteklemez.O komut yalnızca C99 standartında çalışır.Yani ANSI C ile çalışıyorsanız derleyicinizi muhakkak C99 standartına ayarlamak lazım.
ANSI : Amerikan Standartlar Enstitüsü. ANSI uyumlu derleyiciler ANSI standartlarına uyumlu derleyiciler. C89, C90 ve C99 ANSI tarafından kabul edilen standartlardır. Derleyiciler de ya ANSI uyumludur ya da değildir.
ANSI  C99'u da benimsemiştir 2000 yılında. Bunu da belirtmiştim.
Eğer siz ANSI C olarak C89'u anıyorsanız onu bilemem.
Saygılar.

mesaj birleştirme:: 29 Ağustos 2013, 23:33:37

Bir de yeni C11 varmış onu ANSI kabul etmemiş sanırım henüz.