0
点赞
收藏
分享

微信扫一扫

编译C++程序


单文件编译

C++程序Test.cpp:

#include <iostream>
using namespace std;
int main()
{
cout << "Hello, world!" << endl;
return 0;
}

使用gcc编译;

$ gcc Test.cpp -lstdc++ -o main

使用g++编译:

$ g++ Test.cpp -o main

运行:

./main

多文件编译

主程序main.cpp:

#include <iostream>
#include "Hello.h"

int main() {
std::cout << "Hello, World!" << std::endl;
Hello *hi = new Hello();
hi->hello();
return 0;
}

Hello.h:

#ifndef
#define

class Hello {
public:
void hello();
};
#endif//CPP_HELLO_H

Hello.cpp:

#include "Hello.h"
#include <iostream>
using namespace std;
void Hello::hello() {
cout<<"hello"<<endl;
}

使用gcc编译:

$ gcc main.cpp Hello.cpp -lstdc++ -o main

使用g++编译:

$ g++ main.cpp Hello.cpp -o main

运行:

./main

g++ 常用命令选项

选项

描述

-ansi

只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色, 例如 asm 或 typeof 关键词。

-c

只编译并生成.o目标文件

-E

只运行 C 预编译器。

-g

生成调试信息。GNU 调试器可利用该信息。

-o

FILE 生成指定的输出文件。用在生成可执行文件时。

-O0

不进行优化处理。

-O 或 -O1

优化生成代码。

-O2

进一步优化

-O3

比 -O2 更进一步优化,包括 inline 函数。

-shared

生成共享目标文件。通常用在建立共享库时。

-static

禁止使用共享连接

-w

不生成任何警告信息

-Wall

生成所有警告信息

谢谢阅读


举报

相关推荐

0 条评论