Linux için yeniyim. Ubuntu 11.04 kullanıyorum ve C ++ programının nasıl derlenip çalıştırılacağını bilmiyorum. Linux'ta bir C ++ programını derleme ve yürütme komutlarını bilmem gerekiyor .
Linux için yeniyim. Ubuntu 11.04 kullanıyorum ve C ++ programının nasıl derlenip çalıştırılacağını bilmiyorum. Linux'ta bir C ++ programını derleme ve yürütme komutlarını bilmem gerekiyor .
Yanıtlar:
C ++ kodunuzu derlemek için şunu kullanın:
g++ foo.cpp
Örnekteki foo.cpp , derlenecek programın adıdır.
Bu, a.outterminalinize şunu yazarak çalıştırabileceğiniz ve aynı dizinde çalıştırılabilir bir dosya üretecektir :
./a.out
g ++ zaten $ PATH'nizde olmalı, bu yüzden /usr/bin/g++açıkça aramanıza gerek yok , ancak ikincisini her durumda kullanabilirsiniz.
foo.cppKomutu çalıştırdığınız dizinde olmalı. Herhangi bir şüpheniz varsa, ls foo.cppya da yazarak aynı dizinde olduğunuzdan emin olabilirsiniz head foo.cpp(doğru ile çalıştığınızı doğrulamanız gerekiyorsa foo).
@ Con-f-use tarafından belirtildiği gibi, derleyici genellikle bu dosyayı çalıştırılabilir hale getirir, ancak yapmazsanız, bunu kendiniz yapabilirsiniz (bu nedenle çalıştırma komutu ./a.outveya eşdeğeri çalışacaktır):
chmod +x ./a.out
Derlenmiş çıktı dosyasının adını a.out, adlandırılmayacağını belirtmek -oiçin g ++ komutunuzla kullanın.
Örneğin
g++ -o output foo.cpp
Bu, foo.cppadlandırılmış olan ikili dosyaya derleyecektir ve derlenmiş kodu çalıştırmak için outputyazabilirsiniz ./output.
a.outbu durumda) çalıştırılabilir yapar. Değilse: yazarak bunu yapabilirsiniz chmod +x a.out. Derlenmiş programın çalıştırılabilir olması durumunda, onu çalıştırmak ./a.outistediğiniz nokta ve eğik çizgi göstergesini yazarak çalıştırabilirsiniz.
Burada iki varsayımda bulunuyorum:
Ubuntu'da bir C ++ programını ya da bu konuda herhangi bir Linux dağıtımını derlemenin en basit yolu
g++ main.cpp -o main
g++ -o main main.cppnedenle eşit olarak geçerlidir.Yukarıdaki komutlar, zaten kaynak dosyalarının konumunda olduğunuzu varsaymaktadır, ancak hem kaynak dosya hem de hedef çıktı dosyası da bir dizin olarak belirtilebilir. Örneğin
g++ ~/Desktop/main.cpp -o ~/Projects/main
masaüstünüzde bulunan bir C ++ kaynak dosyasını derleyecek ve çalıştırılabilir ikili dosyayı Projectsana dizininizdeki bir klasöre yerleştirecektir. Bu yürütülebilir dosyayı çalıştırmak için çalıştırın ./Projects/main.
Bu şekilde g ++ ile derlemeyi seviyorum.
$g++ -W -Wall -pedantic -o programName -p sourceFile.cpp
-W: Print extra warning messages for some problems.
-Wall: Enable all the warnings about questionable code
-pedantic: Show all the warnings demanded by strict ISO compliance
-o programName: place the executable output in programName sourceFile.cpp: the
name of our source code file
-p: Generate extra code to write profile information suitable for the analysis program prof
-p: Generate extra code to write profile information suitable for the analysis program prof.
G ++ 'a ihtiyacınız var, çünkü gcc kolayca cpp dosyasını derleyemeyebilir.
Ayrıca C kodu yazmak için vim veya emacs öğrenmeniz gerekir.
Bunu terminalinizde deneyin:
Bir test programı yazın ve kaydedin:
$vim hello.cc
hello.ccG ++ ile derleyin :
$g++ hello.cc -o hello
Onu çalıştır:
$./hello
Burada ./exe dosyasının mevcut dir altında olduğu anlamına gelir.
viama önemli değil. Belirli bir editör önermekten uzak durmalısın, herkes yine de kendi kullanıyor.
g++gccbazı önceden tanımlanmış c ++ makroları ve farklı varsayılan seçenek / bayraklarla (GNU Compiler Collection) bir ön uç .
c ++ kodunu derlemek , herhangi bir nedenden dolayı uygun olmadığında gcckullanışlıdır g++, aslında bu sadece c ++ kütüphanesine bağlantı vermek -lstdc++ve gcc'ye girişi c ++ kodu olarak işlemesi konusunda bilgilendirmek meselesidir (ya bir .Cuzantı kullanarak ya da dili zorlayarak) -x)
geçerli başka c ++ dosya adı ekleri: .cc, .cp, .cxx, .cpp, .CPP,.c++
örnek :
gcc cpp_code.C -lstdc++ .Cgcc'nin c ++ dosyası olduğunu bilmesi için büyük harf uzantısı ( ) önemlidir.
veya açıkça giriş dilini belirterek:
gcc -x c++ cpp_code.txt -lstdc++ uzatma herhangi bir şey olabilir, hatta hiçbir şey olmayabilir
varsayılan olarak sonuç (başarılı bir derlemeden sonra) a.outile çalıştırılabilen bir dosyadır./a.out