Saya baru mengenal Linux. Saya menggunakan Ubuntu 11.04 dan tidak tahu bagaimana cara mengkompilasi dan menjalankan program C ++ di dalamnya. Saya perlu tahu perintah untuk Mengkompilasi dan Menjalankan program C ++ di Linux.
Saya baru mengenal Linux. Saya menggunakan Ubuntu 11.04 dan tidak tahu bagaimana cara mengkompilasi dan menjalankan program C ++ di dalamnya. Saya perlu tahu perintah untuk Mengkompilasi dan Menjalankan program C ++ di Linux.
Jawaban:
Untuk mengkompilasi kode c ++ Anda, gunakan:
g++ foo.cpp
foo.cpp dalam contoh ini adalah nama program yang akan dikompilasi.
Ini akan menghasilkan executable di direktori yang sama yang disebut a.out
yang dapat Anda jalankan dengan mengetikkan ini di terminal Anda:
./a.out
g ++ seharusnya sudah dalam $ PATH Anda, jadi Anda tidak perlu menelepon /usr/bin/g++
secara eksplisit, tetapi Anda dapat menggunakan yang terakhir dalam hal apa pun.
foo.cpp
seharusnya berada di direktori yang sama dengan tempat Anda menjalankan perintah. Jika ada keraguan, Anda dapat memastikan Anda berada di direktori yang sama dengan mengetik ls foo.cpp
atau head foo.cpp
(jika Anda perlu memverifikasi Anda bekerja dengan yang benar foo
.)
Seperti dicatat oleh @ con-f-use, kompiler biasanya akan membuat file ini dapat dieksekusi, tetapi jika tidak, Anda bisa melakukannya sendiri (sehingga perintah untuk mengeksekusi, ./a.out
atau yang setara, akan bekerja):
chmod +x ./a.out
Untuk menentukan nama file output yang dikompilasi, sehingga tidak bernama a.out
, gunakan -o
dengan perintah g ++ Anda.
Misalnya
g++ -o output foo.cpp
Ini akan dikompilasi foo.cpp
ke file biner bernama output
, dan Anda dapat mengetik ./output
untuk menjalankan kode yang dikompilasi.
a.out
dalam hal ini) dapat dieksekusi. Jika tidak, Anda dapat melakukannya dengan mengetik: chmod +x a.out
. Ketika program terkompilasi Anda dapat dieksekusi, Anda dapat menjalankannya mengetik ./a.out
- titik dan indikasi garis miring, yang ingin Anda jalankan.
Saya membuat dua asumsi di sini:
Cara paling sederhana untuk mengkompilasi program C ++ di Ubuntu, atau distro Linux lainnya, adalah mengetik
g++ main.cpp -o main
g++ -o main main.cpp
sama-sama valid.Perintah di atas menganggap Anda sudah berada di lokasi file sumber, tetapi file sumber dan target file juga dapat ditentukan sebagai direktori. Sebagai contoh
g++ ~/Desktop/main.cpp -o ~/Projects/main
akan mengkompilasi file sumber C ++ yang terletak di desktop Anda dan menempatkan biner yang dapat dieksekusi dalam Projects
folder di direktori home Anda. Untuk menjalankan executable ini, jalankan ./Projects/main
.
Ini adalah bagaimana saya suka mengkompilasi dengan g ++.
$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.
Anda memerlukan g ++, karena gcc mungkin tidak dapat mengkompilasi file cpp dengan mudah.
Anda juga perlu mempelajari vim atau emacs untuk menulis kode C.
Coba saja ini di terminal Anda:
Ketikkan program uji dan simpan:
$vim hello.cc
Kompilasi hello.cc
dengan g ++:
$g++ hello.cc -o hello
Jalankan:
$./hello
Di sini ./
berarti file exe berada di bawah direktori saat ini.
vi
, tapi itu tidak masalah. Anda harus menyimpang dari menyarankan editor tertentu, bagaimanapun juga semua orang menggunakan miliknya.
g++
adalah front-end to gcc
(GNU Compiler Collection) dengan beberapa makro c ++ yang telah ditentukan dan opsi / flag default yang berbeda.
mengkompilasi kode c ++ dengan gcc
mudah ketika g++
tidak tersedia untuk sejumlah alasan, sebenarnya itu hanya masalah menghubungkan ke perpustakaan c ++ -lstdc++
dan memberitahu gcc untuk memperlakukan input sebagai kode c ++ (baik dengan menggunakan .C
ekstensi, atau memaksa bahasa dengan -x
)
nama file yang c ++ akhiran valid lainnya: .cc
, .cp
, .cxx
, .cpp
, .CPP
,.c++
contoh:
gcc cpp_code.C -lstdc++
ekstensi huruf besar ( .C
) penting bagi gcc untuk mengetahui file c ++.
atau secara spesifik menentukan bahasa input:
gcc -x c++ cpp_code.txt -lstdc++
ekstensi bisa berupa apa saja, atau bahkan tidak sama sekali
secara default hasilnya (setelah kompilasi berhasil) adalah a.out
file yang dapat dijalankan dengan./a.out