C++语言 如何用G++进行编译和运行程序

在windows下,我们写C++程序一般会有如下几个步骤:

  • 编写.cpp文件,代码都在里面;
  • 可能还有一些.h文件之类的支持文件,这些文件一般都会放在一起,或者相对位置是固定的;
  • 编译文件,链接文件,生成.exe文件
  • 双击执行.exe文件(其实开发平台里的“运行”就是帮你双击了一下而已)

在Linux下这些步骤基本都是一样的,不同的是,Linux最后生成的文件不是.exe,而是.out

 

调用C++编译器的命令因编译器和操作系统的不同而不同,常用的编译器是GNU编译器和微软Visual Studio编译器。调用GNU编译器的默认命令是g++   --《primer》

gcc 是 c 语言的编译器, g++是C++的。

gcc 和 g++分别是GNU的C和C++的编译器。一般分成四步: 

1. 预处理,生成.i的文件 [预处理器cpp]

2. 将预处理后的文件不转换成汇编语言,生成.s文件[编译器egcs]

3. 有汇编变为目标代码(机器代码)生成.o文件[汇编器as]

4. 连接目标代码,生成可执行程序 [链接器]                             

例子      

编译

使用编译器将代码编译成二进制目标文件(object file)。

g++  -c   file.cpp  -o   file.o

链接

将二进制目标文件链接起来生成可执行文件

g++  file1.o  file2.o  -o   test.exe

执行

执行可执行文件(.exe这个后缀可以不加)

 ./test.exe

直接编译成可执行文件

g++ program.cpp -o program.exe

如果在Unix下可执行文件无后缀,在Windows下生成后缀为.exe的可执行文件。-o 是用来改名的参数,如果不写-o program,那么在Unix下生成的是a.out而在Windows下生成的是a.exe的可执行文件。(同样的,运行时.exe可以不加)

参数含义整理

-o:  修改生成文件的名字,如果不修改的话名字在Unix下面是a.out,Windows下面是a.exe的可执行文件名字,实在有点难听。用这个参数可以修改默认的名字。

-c:  不做第四步生成可执行文件,只生成.o的目标文件

 

https://blog.csdn.net/u013793399/article/details/51365311

https://www.cnblogs.com/viggo/articles/11284188.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/439353.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SharePoint 2016文档库所在数据库表的说明(文档库数据库)

突然被客户问一个问题,说数据库存在哪一个表,这个原本是开发的事,竟然文档我了,好吧这里记录一下,以便记忆给客户汇报。 SharePoint 数据库表说明: FeaturesTable that holds information about all the …

C++模板类嵌套类内部类局部类的区别

模板类就是将类定义成模板的形式。 C中好像不区分内部类与嵌套类两个名词。 内部类与嵌套类都是指在类中定义类。 局部类是指在函数中定义类。 (c不能在函数中定义函数(python可以)。c在类中定义的函数也就是成员函数。) (c内部类与java内…

为sharepoint 2013 增加切换账户登陆菜单

SharePoint 2010是有一个用户切换功能的,不知为何2013中,将这个优秀的功能取消了,使用如下可以重回辉煌 修改sharepoint 服务器上下面路径中的Welcome.ascx文件: C:\Program Files\Common Files\Microsoft Shared\Web Server Ext…

C++ 异常,标准异常类,自定义异常类,throw,try,catch语句

要学习异常,首先就要学习throw和try,catch语句: C中try catch语句用法有非常灵活,有许多种组合; 这里简单介绍以下最基本的用法; 1. 格式 try{ ... } catch{ ... } try语句块是用来判断是否有异常; c…

SharePoint 2013 RBS(Remote BLOB Storag) 安装、部署、垃圾回收

SharePoint 承担着文件管理的工作,默认都是将它们以BLOB的数据形式存储在内容数据库当中;当文件大时,就很容易导致数据库容量被这些BLOB数据所快速消耗,而且频繁地对这些大数据量的BLOB数据进行读写访问,很容易在SQL端…

Processing 闪烁的圆 动画效果

打开Processing,CtrlR运行. 运行效果 : class myRect {float x,y;float r,a;//banjing secai bianhua myRect(float x, float y, float r,float a) {this.x x;this.y y;this.r r;this.a a;}void chang(){this.a 0.02;} void display() {stroke(255);fill(120-120*cos(a…

用生动的例子花式解释:python类中一定需要有 __init__方法么?没有会怎样?

python 类中一定需要有 __init __方法么?没有的会怎样? 在回答这个问题之前,先说两个问题:① 面向对象编程? ② 什么是类? 面向对象,先上一个正式点的解释: “把一组数据结构和处…

了解 SharePoint 2010 开发中的关键设计决定

在开发项目时,我们经常用到SVN.但是有时候,只知道把源码放到trunk , 把一些文档放到Document下面。其它的目录都应该放什么东西,应该怎么用。可能都有点模糊。 Branch 目录 : 跟工程项目相关的各个工程版本分支。该目录下面的版…

C++,string类的指针,string类数组的指针 string *s

可以这样&#xff1a; #include<iostream> #include<string> using namespace std;int main(void) {string s "hello";//定义一个char类型指针&#xff0c;把string s的首元素地址赋给pt,则pt指向字符串s.char *pt &s[0]; cout << pt <&…

了解 SharePoint 2010 开发中的关键点

**摘要&#xff1a;**了解为 Microsoft SharePoint 2010 规划和开发业务解决方案时必须做出的关键点。 上次修改时间&#xff1a; 2012年3月13日 适用范围&#xff1a; Business Connectivity Services | Office 2010 | Open XML | SharePoint Designer 2010 | SharePoint Fo…

C++自定义迭代器模板,实现ArrayList基本操作,自定义迭代器遍历

运用到的知识&#xff1a;&#xff08;不分先后&#xff09; 模板&#xff0c;类&#xff0c;循环数组&#xff0c;线性表&#xff0c;指针&#xff0c;异常&#xff0c;迭代器&#xff0c;输入输出等C基础 #include<iterator> #include<iostream> #include<v…

SharePoint2013 2019性能及限制

适用于&#xff1a;2013 2019 SharePoint Online 本文档介绍 SharePoint Server 2013 的软件边界和限制。其中包括&#xff1a; 边界&#xff1a; 根据设计无法超过的静态限制 阈值&#xff1a; 为满足特定要求而能够超过的可配置限制 支持的限制&#xff1a; 已默认设置为…

Anaconda安装绘图模块altair

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple altair

MOSS/Sharepoint RBS概念以及运用

注&#xff1a;原文作者不知道是谁&#xff0c;先收藏了这篇&#xff08;若有侵权&#xff0c;请留言&#xff0c;删除&#xff09; EBS -> External Blob Storage 外部大二进制对象存储 RBS -> Remote Blob Storage 远程大二进制对象存储 这俩概念据我所知&#xff0c;…

【Python学习】 - 超详细的零基础Pandas学习(附Python数据分析与应用课本第四章实训答案)

&#xff08;博文体系参考&#xff1a;《Python数据分析与应用》课本&#xff09; 任务数据如下&#xff1a; 读入csv文件时&#xff0c;encoding必须是正确的&#xff0c;常用的编码格式有&#xff1a;UTF-8 , UTF-16 , GBK , GB2312 , GB18030等。 如果和文件的编码格式不符…

SQL Server 中“dbo”到底是什么

在&#xff33;&#xff31;&#xff2c; Server中看见很多表名都有前缀dbo&#xff0c;但是不写也可以。比如pubs的数据库中的表dbo.title &#xff11;&#xff0e; dbo是一个构架(schema)&#xff0c;在sql2005中,表的调用格式如下:"数据库名.构架名.表名",同一个…

win10,配置环境变量时系统环境变量和用户环境变量的优先级

关于%%中间夹着的东西&#xff0c;比如%AppData%的路径&#xff0c;是在注册表中可以修改的&#xff0c;用户也可以自定义这种%...%&#xff0c;相当于你定义了一个路径常量&#xff0c;定义方法也是去系统的环境变量中去添加即可。 比如一般常用%JAVAHOME%这种。 参考文章&a…

sql server登录名、服务器角色、数据库用户、数据库角色、架构区别联系**

1.一个数据库用户可以对应多个架构&#xff08;架构是表容器&#xff09;。架构里面包含的是数据库表。 2.一个数据库角色有可能涉及多个架构。数据库角色对应的是权限。 3.一个用户对应一个数据库角色。 4.登录名与数据库用户在服务器级别是一对多的&#xff1b;在数据库级…

python 字典、列表、字符串 之间的相互转换

1、列表与字符串转换 列表转字符串&#xff1a; 将列表中的内容拼接成一个字符串 将列表中的值转成字符串 字符串转列表&#xff1a; 用eval转换 将字符串每个字符转成列表中的值 将字符串按分割成列表 2、列表与字典转换 列表转字典&#xff1a; 将两个列表转成字典 将嵌…

【转】SharePoint开发中可能用到的各种Context(上下文)

第一部分 服务器端上下文 一、HttpContext 这个……我想就不用再介绍了&#xff0c;SharePoint运行在标准的ASP.NET框架下&#xff08;2003用的不是标准的ASP.NET 1.1&#xff0c;不过这年头还有人用2003么&#xff09;&#xff0c;所以这个对象的使用和ASP.NET没有任何区别。…