编译C++程序

举报
yd_221104950 发表于 2020/12/03 01:06:26 2020/12/03
【摘要】 单文件编译 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;
}

  
 

使用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 生成所有警告信息

谢谢阅读

文章来源: blog.csdn.net,作者:WongKyunban,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_40763897/article/details/101750979

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。