Keil include olecem artık.

Başlatan bybik, 01 Temmuz 2011, 23:44:09

bybik

Arkadaşlar 3 gündür uğraşıyorum artık kafayı yiyicem.
Daha önce hep ccs kullandım o yüzden bu keil sistemi bir türlü anlamadım.
Örneğin aynı klasörde iki adet c dosyası var diyelim.Adam anaprograma  include"ornek.h" yazıyor ve ornek.c deki fonksiyonları kullanıyor. Gene aynı şekilde bu sefer alakasız bir klasördeki dosya için include "ornek2.h" yazıyor aynı klasorde bile olmayan ornek2.c nin çindeki fonksiyonu kullanıyor bu nasıl oluyor.Ben yapınca olmuyor ama projelerde onlar yapmış nasıl?

ise

örnek olarak yaptığın projeyi herhangi bir paylaşım sitesine yüklerseniz daha fazla yardımcı olabilirim

Klein

Keil kullanmıyorum. Ama genelde derleyicilerde sistem değişmez.
Sadece *.H include ederek  *.c  dosyası içerisindeki fonksiyonarı kullanmanın birkaç yolu var.

*.h dosyası içerisinde  *.c içerisindeki  fonksiyonlar deklare edilir.  *.c isimli dosya için herhangi bir deklerasyon yapılmaz. ama projeye eklenir. Genelde project menüsünde add files seçeneği olur. oradan eklenir. Ya da proje ağacı üzerinde proje ismine sağ tıklanınca "add files" seçeneği gelir oradan eklenir. Derleyiciye göre menü yerleri ve isimleri farklı olmakla birlikte, genelde prensip aynıdır. Bu dosya proje ağacında prjenizin ana dosyasının altında değil , ayrı dosya olarak görünür. Derleme yaptığınızda her iki dosya ayrı ayrı derlenip , link esnasında bağlanırlar. Genelde bütün projelerde kullanılabilecek fonksiyonları içeren *.c dosyaları için kullanılır.
diğer bir yol ise  *.h dosya içerisinde *.c  dosyanın #include ile deklare edilmesidir ki , bu yöntemi kullananı pek görmedim.

alakasız bir klasörde tanımlı bir dosya doğrudan kullanılamaz. muhakkak ki bir yerlerde tanımlıdır. Genelde bu tip programların kullanacağı klasörler, windowsun "environment variables ( ortam değişkenleri) "  bölümünde tanımlanır. Bu dosyalar projeye dahil edilirken
#include <dosya> şeklinde tanımlanır. Bu şekilde tanımlandığında derleyici doğrudan önceden tanımlı bu klasörlerde arar.
eğer #include"dosya" şeklinde deklare etmişseniz önce proje klasörüne , orada bulamazsa önceden tanımlı klasörlere bakar.

bybik

#3
Klein seninde söylediğin gibi bir çok deneme yaptım ama bir türlü program derlenmedi.Bahsettiğin gibi mutlaka bir yerlerde bu dosyanın yolunun belirtilmiş olması lazım ama onu bir türlü bulamadım.ise istediğin gibi programı yükledim.Hem orjinal kod hemde benim yaptığım kod var.hiçbir değişiklik yok sadece aynı dosyaları yeni projeye tanıttım.
http://hotfile.com/dl/122805659/3634677/Deneme.rar.html

bybik

Arkadaşlar linktekilerin aynısını yapıyorum proje orjinalinin aynısı gibi görünmesine rağmen derlenmiyor acaba ekstra ne yapmam gerekiyor.
https://www.picproje.org/index.php?topic=23913.0  Yaptığım hiçbir projeyi birleştiremiyorum.

Bu sitede keilde proje yapan bir çok arkadaş var lütfen mesajı okuyup görmezden gelmeyin. 

computerboy

Merhaba;

Projende oluşturduğun gruplar üzerinde sağ tıkla ve Options For *.......* ordanda C/C++ sekmesindeki include path satırına prjende kullandığın klasörleri tanımlarsan oradaki dosyalara dediğin şekilde erişebilirsin. Ayrıca işlemci için oluşturulan startup kodunu eklemeyi unutma.