编译C++程序
程序员文章站
2022-05-07 12:11:19
...
单文件编译
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 CPP_HELLO_H
#define CPP_HELLO_H
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 | 生成所有警告信息 |
谢谢阅读
上一篇: DJANGO实现简单的数据库增删改查
下一篇: 总结一下B/S和C/S的差别