it-swarm.dev

Co je příkaz k kompilaci a spuštění programů C ++?

Jsem v Linuxu nováčkem. Používám Ubuntu 11.04 a nevím, jak v něm kompilovat a spouštět program C++. Potřebuji znát příkazy Compile a Execute C++ program v Linuxu.

101
Rajeshkumar

Chcete-li kompilovat svůj kód c ++, použijte:

g++ foo.cpp

foo.cpp v příkladu je název kompilovaného programu.

Tím se vytvoří spustitelný soubor ve stejném adresáři nazvaném a.out které můžete spustit zadáním do terminálu:

./a.out

g ++ by již mělo být na vaší $ PATH, takže nemusíte volat /usr/bin/g++ explicitně, ale můžete je použít v každém případě.

foo.cpp by měl být ve stejném adresáři, ze kterého příkaz spouštíte. Pokud máte pochybnosti, můžete se ujistit, že jste ve stejném adresáři zadáním ls foo.cpp nebo head foo.cpp (pokud potřebujete ověřit, že pracujete se správným foo.)

Jak poznamenal @ con-f-use, kompilátor obvykle provede tento soubor spustitelným, ale pokud ne, můžete to udělat sami (takže příkaz k provedení, ./a.out nebo ekvivalent, bude fungovat):

chmod +x ./a.out

Chcete-li určit název kompilovaného výstupního souboru, aby nebyl pojmenován a.out, použijte -o vaším příkazem g ++.

Např.

g++ -o output foo.cpp

Toto zkompiluje foo.cpp do binárního souboru s názvem output a můžete zadat ./output pro spuštění kompilovaného kódu.

119
belacqua

Tady dělám dva předpoklady:

  1. Již máte zdrojový soubor/program C++ připravený k sestavení
  2. Nastavili jste v počítači sestavovací systém

Nejjednodušší způsob, jak kompilovat program C++ na Ubuntu nebo jiné linuxové distro, je psaní

g++ main.cpp -o main
  • g ++ je vyvolání komponenty C++ v GCC , defacto kompilátoru pro C/C++ a celá řada dalších jazyků na platformě Linux. V současné době je to jediný kompilátor schopný kompilovat linuxové jádro.
  • main.cpp je zdrojový soubor c ++, který chcete kompilovat.
  • - o main určuje název výstupního souboru, který si přejete vytvořit po kompilaci zdroje. Cílový zdrojový soubor a cílový výstupní soubor lze v případě potřeby převrátit, takže g++ -o main main.cpp platí stejně.
  • Chcete-li potom spustit tento program, musíte udělat ./main v terminálu.

Výše uvedené příkazy předpokládají, že již jste v umístění zdrojových souborů, ale zdrojový soubor i cílový výstupní soubor lze také zadat jako adresář. Například

g++ ~/Desktop/main.cpp -o ~/Projects/main

zkompiluje zdrojový soubor C++ umístěný na ploše a umístí spustitelný binární soubor do složky Projects ve vašem domovském adresáři. Chcete-li spustit tento spustitelný soubor, spusťte ./Projects/main.

22
user2405

Tímto způsobem se chci zkompilovat s 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
6
amrx
g++ filename.cpp 

např:

g++ One.cpp

Tím se vygeneruje výstupní soubor s názvem (např.):

a.out

Pokud vytvoříte jiný program a zkompilujete jej (např.):

g++ Two.cpp

Tím se také vygeneruje výstupní soubor s názvem (např.):

a.out

To znamená, že můžete získat výstup pouze zkompilovaného programu, pokud jej provedete. Chcete-li se tomuto použití vyhnout (např.)

g++ One.cpp -o One 

nyní bude váš výstupní soubor:

One

Nyní můžete spustit soubor s vámi určeným jménem.

2
Aman Dharna

Potřebujete g ++, protože gcc nemusí kompilovat cpp soubor snadno.
Také se musíte naučit vim nebo emacs psát C kód.
Zkuste to na svém terminálu:

Zadejte testovací program a uložte jej:

$vim hello.cc

Zkompilovat hello.cc s g ++:

$g++ hello.cc -o hello

Spustit:

$./hello

Tady ./ znamená, že soubor exe je pod aktuálním adresářem.

1
bigeast

g++ je front-end k gcc (GNU Compiler Collection) s některými předdefinovanými c ++ makry a různými výchozími možnostmi/příznaky.

kompilace kódu c ++ s gcc je užitečná, když g++ není k dispozici z mnoha důvodů, ve skutečnosti je to jen otázka propojení s knihovnou c ++ -lstdc++ a informování gcc, aby s vstupem zacházelo jako s kódem c ++ (buď pomocí .C rozšíření nebo vynucení jazyka pomocí -x)
další platné přípony názvu souboru c ++: .cc, .cp, .cxx, .cpp, .CPP, .c++

příklad:

gcc cpp_code.C -lstdc++ prodloužení velkých písmen (.C) je důležité, aby gcc věděl, že se jedná o soubor c ++.

nebo výslovně zadat vstupní jazyk:

gcc -x c++ cpp_code.txt -lstdc++ rozšíření může být cokoli, nebo dokonce nic

ve výchozím nastavení je výsledek (po úspěšné kompilaci) a.out soubor, který lze spustit pomocí ./a.out

1
user257256