(用一個C++ Primer Plus里的例子好了)
- 編寫C++文件,儲存為test1.cpp
//-------------ubuntu上.cpp文件編譯與運行
#include <iostream>
int main()
{
using namespace std;
const int ArSize = 20;
char name[ArSize];
char dessert[ArSize];
cout << "Enter your name:\n";
cin.getline(name, ArSize);
cout << "Enter your favorite dessert:\n";
cin.getline(dessert, ArSize);
cout << "I have some delicious " << dessert;
cout << " for you, " << name << ".\n";
return 0;
}
- 終端中輸入
xxxx@xxxx-xxxxxx-xxxxxxx-xxxxx:~/文檔/cppfile$ g++ test1.cpp
同目錄下生成一個a.out文件
xxxx@xxxx-xxxxxx-xxxxxxx-xxxxx:~/文檔/cppfile$ ls
a.out test1.cpp
- 終端中輸入
xxxx@xxxx-xxxxxx-xxxxxxx-xxxxx:~/文檔/cppfile$ ./a.out
Enter your name:
Rawa
Enter your favorite dessert:
Cake
I have some delicious Cake for you, Rawa.
編譯運行成功
由於只編譯一個源文件,所以默認情況下自動刪除了test1.o文件,若新編譯另一個cpp代碼,生成的a.out會覆蓋原有文件
若同時編譯多個源代碼文件,則編譯器不刪除目標代碼文件
- 編譯多個文件,在終端輸入
xxxx@xxxx-xxxxxx-xxxxxxx-xxxxx:~/文檔/cppfile$ g++ testH.h test2.cpp
xxxx@xxxx-xxxxxx-xxxxxxx-xxxxx:~/文檔/cppfile$ ./a.out
This is your Pokemon! Try to talk to it.
Hello Pikachu!
Pikapika !
Pikachu ! ! !
編譯運行成功