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.out
terminalinize ş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.cpp
Komutu çalıştırdığınız dizinde olmalı. Herhangi bir şüpheniz varsa, ls foo.cpp
ya 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.out
veya eşdeğeri çalışacaktır):
chmod +x ./a.out
Derlenmiş çıktı dosyasının adını a.out
, adlandırılmayacağını belirtmek -o
için g ++ komutunuzla kullanın.
Örneğin
g++ -o output foo.cpp
Bu, foo.cpp
adlandırılmış olan ikili dosyaya derleyecektir ve derlenmiş kodu çalıştırmak için output
yazabilirsiniz ./output
.
a.out
bu 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.out
istediğ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.cpp
nedenle 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ı Projects
ana 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.cc
G ++ 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.
vi
ama önemli değil. Belirli bir editör önermekten uzak durmalısın, herkes yine de kendi kullanıyor.
g++
gcc
bazı ö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 gcc
kullanış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 .C
uzantı 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++
.C
gcc'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.out
ile çalıştırılabilen bir dosyadır./a.out