Şimdi Ara

klasörlerin içindeki .c dosyalarını gcc yi çağırarak derlete c sharp programı

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
8
Cevap
0
Favori
502
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
Öne Çıkar
0 oy
Sayfa: 1
Giriş
Mesaj
  • GitHub
    takanik/gcc-runner-for-directory
    https://github.com/takanik/gcc-runner-for-directory



    _____________________________
    herşeyi bilen hiçbir şeyi bilmiyordur.




  • 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 :)
    _____________________________
    Life is about having fun.
  • 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.
    _____________________________
    herşeyi bilen hiçbir şeyi bilmiyordur.
  • 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.
    _____________________________
    Life is about having fun.
  • seyfi84 S kullanıcısına yanıt
    Ü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.
    _____________________________
    Life is about having fun.
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.