Gönderen Konu: Uçbirimden c kodu derlemek (gcc kullanımı)  (Okunma sayısı 2964 defa)

Çevrimdışı uyusuk

  • Çaylak Penguen
  • **
  • İleti: 172
  • Dağıtım: Linux Mint 17.3
  • Masaüstü Ortamı: Cinnamon
  • Grafik Kartı: Nvidia GeForce GTX 960M/intel HD Graphics 530
  • İşlemci: İntel Core i7
Uçbirimden c kodu derlemek (gcc kullanımı)
« : 29 Eylül 2015, 19:41:26 »
Uçbirimden hiç bir derleyici programı kullanmadan bir .c uzantısı derlemek mümkün ve oldukça da kolaydır(Tabi parametre istemiyorsa).
O malum kod :) :
Kod: [Seç]
#include <stdio.h>
int main()
{
   printf("Hello World\n");
}

CTRL-ALT-T ile uçbirimimizi açıyoruz ve .c uzantılı dosyamızın olduğu dizine gidiyoruz.Bende Masaüstü.
Kod: [Seç]
ali[member=2353]uyusuk[/member] ~ $ cd Masaüstü/
ali[member=2353]uyusuk[/member] ~/Masaüstü $
Sonra gcc komutuyla programımızı derliyoruz.
Kod: [Seç]
$ gcc program_adı.cBende programın adı a :)
Kod: [Seç]
$ gcc a.cBu komuttan sonra dizine program_adı.out  uzantılı program gelecek.
Kod: [Seç]
$ ./program_adı.out(Programın adını a koyduğumuz için a.out ifadesini kullanacağız. )
Kod: [Seç]
ali[member=2353]uyusuk[/member] ~/Masaüstü $ ./a.out
Hello World
« Son Düzenleme: 13 Kasım 2016, 23:43:52 Gönderen: uyusuk »
"İnsanlar,diğer insanların hep onların yerine işleri yapmasını bekliyorlar."

Çevrimdışı aware27

  • Yeni Penguen
  • *
  • İleti: 24
  • Dağıtım: Linux Mint 18 Sarah 64 Bit
  • Masaüstü Ortamı: Cinnamon
  • İşlemci: Intel
Ynt: Uçbirimden c kodu derlemek (gcc kullanımı)
« Yanıtla #1 : 09 Kasım 2016, 21:52:54 »
Ben c'de yeniyim fakat, bir hata dikkatimi çekti, eğer yanlışsam düzeltin:

Kod: [Seç]
$ gcc program_adı.c
bu kodla çıkan (derlenip, oluşturulan) dosya;
            program_adı.out
isminde değil,

     a.out
isminde çıkar.
Yani bildiğim kadarıyla gcc ve ardından dosya ismi girildiği taktirde default yani varsayılan olarak (dosyanın ismi ne olursa olsun) çıkan dosya ismi a.out oluyor.

Eğer ki derlenen (çalıştırılacak) dosya isminin a.out 'tan farklı bir isim olmasını istiyorsak kodu;

Kod: [Seç]
gcc dosya_ismi.c -o yeni_isim
şeklinde girmeliyiz. Böylece -o 'dan sonra yazılan isim derlenen dosyanın ismi olacaktır.
« Son Düzenleme: 10 Kasım 2016, 13:46:10 Gönderen: aware27 »
"Onlar sözü dinlerler ve en güzeline uyarlar. İşte onlar Allah'ın hidayetine erdirdiği kimselerdir ve işte onlar akıl sahiplerinin ta kendileridir."    ( Zümer Sûresi, 18 )

Çevrimdışı uyusuk

  • Çaylak Penguen
  • **
  • İleti: 172
  • Dağıtım: Linux Mint 17.3
  • Masaüstü Ortamı: Cinnamon
  • Grafik Kartı: Nvidia GeForce GTX 960M/intel HD Graphics 530
  • İşlemci: İntel Core i7
Ynt: Uçbirimden c kodu derlemek (gcc kullanımı)
« Yanıtla #2 : 13 Kasım 2016, 23:37:04 »
Ben c'de yeniyim fakat, bir hata dikkatimi çekti, eğer yanlışsam düzeltin:

Kod: [Seç]
$ gcc program_adı.c
bu kodla çıkan (derlenip, oluşturulan) dosya;
            program_adı.out
isminde değil,

     a.out
isminde çıkar.
Yani bildiğim kadarıyla gcc ve ardından dosya ismi girildiği taktirde default yani varsayılan olarak (dosyanın ismi ne olursa olsun) çıkan dosya ismi a.out oluyor.

Eğer ki derlenen (çalıştırılacak) dosya isminin a.out 'tan farklı bir isim olmasını istiyorsak kodu;

Kod: [Seç]
gcc dosya_ismi.c -o yeni_isim
şeklinde girmeliyiz. Böylece -o 'dan sonra yazılan isim derlenen dosyanın ismi olacaktır.
Bir yanlışlık yok. programın_adı yazmamın amacı eğer siz programı a değil de başka bir adla kaydederseniz, kaydettiğiniz adla bir çıkış alacağınızı belirtmek içindi.
Not:Yanlış anlaşılmaması için daha açık bir şekilde düzenledim.
« Son Düzenleme: 13 Kasım 2016, 23:39:24 Gönderen: uyusuk »
"İnsanlar,diğer insanların hep onların yerine işleri yapmasını bekliyorlar."

Çevrimdışı aware27

  • Yeni Penguen
  • *
  • İleti: 24
  • Dağıtım: Linux Mint 18 Sarah 64 Bit
  • Masaüstü Ortamı: Cinnamon
  • İşlemci: Intel
Ynt: Uçbirimden c kodu derlemek (gcc kullanımı)
« Yanıtla #3 : 21 Kasım 2016, 23:48:08 »
Bir yanlışlık yok. programın_adı yazmamın amacı eğer siz programı a değil de başka bir adla kaydederseniz, kaydettiğiniz adla bir çıkış alacağınızı belirtmek içindi.
Not:Yanlış anlaşılmaması için daha açık bir şekilde düzenledim.

Sizin cevabınızdan sonra, kendi bilgisayarımda tekrar denedim ve dediğim doğru çıkıyor.
Zaten benim demek istediğim de o ya işte.
Demişsiniz ki
"
                               
Kod: [Seç]
$ gcc program_adı.c
     Bu komuttan sonra dizine program_adı.out  uzantılı program gelecek.
"

halbuki program adı ne olursa olsun, onu
                                 
Kod: [Seç]
gcc program_adi.cşeklinde derlediğinizde derlenen dosyanın yeni adı
                          program_adi.out
olmaz. Standart olarak yukarıdaki şekilde derlediğiniz takdirde kaynak dosya yani   .c'li dosya hangi isimle olursa olsun,
neticede çıkan dosyanın ismi,
               a.out
oluyor. Ve diyelim bir tane derledikten sonra ikinci bir dosya derlerseniz, bu sefer yeni derlenen dosya eski a.out'un üzerine yazılıyor, eskisi kayboluyor.

Eğer ki derlenen dosyaya istediğiniz bir ismi vermek istiyorsanız - ki bu derlenen dosyaya kaynak dosyayla aynı ismi vermek istediğiniz zaman da
böyledir;
                       
Kod: [Seç]
gcc kaynak_dosya.c -o yeni_dosya_ismiya da
                       
Kod: [Seç]
gcc -o yeni_dosya_ismi kaynak_dosya.cşeklinde olmalıdır. -o ifadesini kullanmadığınız takdirde, neticede bütün derlenen dosyalar   a.out   diye oluşacaktır.
Böylece mesela, yazdığımız bir kodu misal.c isminde kaydettik ve bunu derlemek istiyoruz. Ve diyelim ki derlenen dosyanın isminin de aynı şekilde,
kaynakla aynı yani "misal" olmasını istiyoruz. O halde yazacağımız kod şudur:
Kod: [Seç]
gcc misal.c -o misalNetice oluşacak derlenmiş dosyanın ismi "misal" olur. Uzantısı da olmaz.
« Son Düzenleme: 21 Kasım 2016, 23:57:32 Gönderen: aware27 »
"Onlar sözü dinlerler ve en güzeline uyarlar. İşte onlar Allah'ın hidayetine erdirdiği kimselerdir ve işte onlar akıl sahiplerinin ta kendileridir."    ( Zümer Sûresi, 18 )