Linux'un dosya uzantıları üzerinde belirli bir sıkılığı yoktur, bu nedenle ikili dosyalar normalde .exe ile bitmez C/C++ kaynak dosyasından ikili dosyalar oluşturmak için. Gc için .C ve g ++ için .cpp gibi bir derleyiciye ihtiyacınız var. Bunlar dosyam adlı bir ikili oluşturmak için adlandırılmış myfile.c bir c kaynak dosyasını derlemek için
sudo zypper install gcc g++
opensuse
yılında örneğin sizin Linux dağıtımı depo yöneticisinden elde edilebilir. Bir C++ kaynak dosyası için Uygun başlık dosyaları oluşturmak ve daha sonra 2 c kaynak dosyalarından bir statik kütüphane oluşturmak için bunları örneğin bağlantı statik veya paylaşılan kitaplık oluşturmak için ar komutunu kullanabilirsiniz birkaç C kaynak dosyaları için
$cd /path/to/myfile/
$g++ -o myfile myfile.cpp
.
$cd /path/to/sources/
$gcc -c myfile1.c myfile2.c
$ar rs libmyfiles.a myfile1.o myfile2.o
$gcc -o main main.c -I/path/to/header-files/ -L/path/to/libmyfiles.a
-c bayrak .o libmyfiles.a denilen statik kütüphaneye ar komutuyla arşivlenir ve endekslidir onaltılık rutinleri içeren (nesne dosyası) oluşturur. paylaşılan kütüphaneler .so ile biter ve pozisyondan bağımsız kodla (-lfpic) üretilmeleri gerekir. Bununla birlikte, pthread.h başlıklı başlık dosyasını kullandığınızda varolan bir paylaşımlı kütüphaneye örneğin pthread'e bağlantı vermek için kütüphaneye aşağıdaki şekilde bağlantı verebilirsiniz.
$gcc -o threadc thread.c -lpthread
mainprog çıktı ikili dosyanın adı olabilir komut satırından
$./mainprog
ana programı çalıştırın. Ayrıca büyük projeleri derlemek için gereken iş miktarını kolaylaştıran maketlere de bakabilirsiniz. da derleyici bayrakları
man gcc
veya KDE kullanıyorsanız hakkında bilgi içeren kılavuz sayfaları vardır. iyi biçimlendirilmiş çıktı için konqueror tarayıcı adres çubuğuna ekleyebilirsiniz.
Çalıştırılabilir dosya, diyor. Bağlayıcıyı neden kullanmamak gerekiyor? – Marko
Yürütücü oluşturmak istiyorsanız linker'i çalıştırmalısınız – Ance
http://www.cyberciti.biz/faq/compiling-c-program-and-creating-executable-file/ Şunu bir daha gözden geçirdim: – Ance