编译C++程序
        【摘要】     单文件编译 
C++程序Test.cpp: 
#include <iostream>
using namespace std;
int main()
{ cout << "Hello, world!" << endl; return 0;
}
1234567 
使用gcc编译; 
$ gcc Test.cpp -lstdc++ -o ...
    
    
    
    单文件编译
C++程序Test.cpp:
#include <iostream>
using namespace std;
int main()
{ cout << "Hello, world!" << endl; return 0;
}
  
 - 1
- 2
- 3
- 4
- 5
- 6
- 7
使用gcc编译;
$ gcc Test.cpp -lstdc++ -o main
  
 - 1
使用g++编译:
$ g++ Test.cpp -o main
  
 - 1
运行:
./main
  
 - 1
多文件编译
主程序main.cpp:
#include <iostream>
#include "Hello.h"
int main() { std::cout << "Hello, World!" << std::endl; Hello *hi = new Hello(); hi->hello(); return 0;
}
  
 - 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
Hello.h:
#ifndef CPP_HELLO_H
#define CPP_HELLO_H
class Hello {
public: void hello();
};
#endif //CPP_HELLO_H
  
 - 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
Hello.cpp:
#include "Hello.h"
#include <iostream>
using namespace std;
void Hello::hello() { cout<<"hello"<<endl;
}
  
 - 1
- 2
- 3
- 4
- 5
- 6
使用gcc编译:
$ gcc main.cpp Hello.cpp -lstdc++ -o main
  
 - 1
使用g++编译:
$ g++ main.cpp Hello.cpp -o main
  
 - 1
运行:
./main
  
 - 1
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 | 生成所有警告信息 | 
谢谢阅读
文章来源: blog.csdn.net,作者:WongKyunban,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_40763897/article/details/101750979
        【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
            cloudbbs@huaweicloud.com
        
        
        
        
        
        
        - 点赞
- 收藏
- 关注作者
 
             
           
评论(0)