Arama butonu
Bu konudaki kullanıcılar: 1 misafir
4
Cevap
456
Tıklama
0
Öne Çıkarma
klasörlerin içindeki .c dosyalarını gcc yi çağırarak derlete c sharp programı
İ
6 yıl
Er
Konu Sahibi

https://github.com/takanik/gcc-runner-for-directory

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



T
6 yıl
Yarbay

Programda ufak bir tasarım hatası var. Bir klasörde diyelim ki 100 C dosyası var. 100 tane cc1.exe collect.exe gibi GCC'ye ait exe'ler bir anda RAM'i doldurur. Cunku program her bir dosya için yeni GCC prosesi açıyor.

Bu tür işler Makefile dosyası yazarak yapılır ve bir klasördeki C'leri aynı dosya adında EXE'ye cevirecek Makefile birkaç satırda yazılabilir ve çalıştığında RAM de sadece bir GCC dolayısıyla 1 cc1.exe ve 1 collect.exe yer kaplar :)


Bu mesaja 1 cevap geldi.
İ
6 yıl
Er
Konu Sahibi

programı olabildiğince basit tuttum.waitforexit de yapılabilirdi.yapmadım.zaten kodlar açık isteyen istediği gibi alıp kullanabilir değiştirebilir.IDE'ler de aşağı yukarı aynı mantıkla çalışıyor.komut satırından programlama dilinin derleycisini çağırıyor.makefile olsa bile enin sonunda derleyici çağrılıyor bir şekilde.tavsiyen için sağol.




Bu mesajda bahsedilenler: @vonderplanitz
T
6 yıl
Yarbay

Programı eğitim amaçlı yazmış olsan da bu işler Makefile işidir.

Bir klasördeki tüm c dosyalarını aynı isimde exe ye dönüştüren Makefile:

all: $(patsubst %.c, %.exe, $(wildcard *.c))

# patsubst fonksiyonu: patsubst(search, replace, text)
# Klasördeki tüm c dosyalarına %.out hedefini (target) uygula

%.exe: %.c
gcc $< -o $@

# %.exe 'yi oluşturmak için c dosyası önşart (prerequisite) girişi
# $< önşart $@ hedef kısayolu yani gcc %.exe -o %.c


Makefile'ı Microsoft birçok projede kullanır örneğin PowerShell deki OpenSSH paketini inşa etmek için Makefile kullanıyor.



T
6 yıl
Yarbay

Üzgünüm fakat $ gcc *.c ile o olayı çözmez cunku gcc'ye -o (object) seceneğini de vermen gerekli. gcc o sekilde çalıştırınca tüm dosyaları derler fakat hepsine a.out veya a.exe gibi bir isim verir bu durumda örneğin 100 dosya derlersen 99'u üstüne yazılıp silinir, 100. son dosya a.exe gibi isimle kalır :)

Onun dışında forumun cok yetersiz ve eksikliklerle dolu olduğu ortada. Forumun geliştiricileri tipik .Net elemanı. Yetersiz. Forumun kurucuları ve adminleri ise 2000'lerde asp ile başlamışlar, şans faktörü ile bu kadar büyümüşler; teknik bilgi teknik vizyonları ile değil.




Bu mesajda bahsedilenler: @seyfi84
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.