一、c语言

1、在当前目录下新建c文件

$:vim hello.c

2、按i进入编辑模式。按esc退出编辑模式,输入源代码

#include <stdio.h>

int main(void)

{

printf("hello world");

return 0;

}

退出编辑模式,按住shift+两次z退出(命令行模式下,或者在底行模式下wq)

3、使用gcc编译c文件

gcc hello.c -o hello

如果编译多个cpp为可执行文件:

gcc hello1.c hello2.cpp -o c(或makefile)

4、会生成hello可执行文件,执行

./hello

ps:关于gcc编译c的过程

1. 源代码编译预处理:在预处理过程中,对源代码文件中的文件包含(include)、预编译语句(如宏定义define等)进行分析。

gcc -E hello.c -o hello.i

2. 经过编译器,生成汇编代码:

gcc -S hello.i -o hello.s

3. 经过汇编器,生成目标代码:

gcc -c hello.s -o hello.o

4. 经过链接器(负责将程序的目标文件与所需的所有附加的目标文件连接起来,附加的目标文件包括静态连接库和动态连接库),生成可执行程序:在链接阶段,所有的目标文件被安排在可执行程序中的恰当的位置,同时,该程序所调用到的库函数也从各自所在的档案库中连到合适的地方。

gcc hello.o -o hello

5. 运行可执行文件:

./hello

6. 上述步骤可以放在一起执行,gcc内部自动进行一系列处理:

gcc hello.c -o hello

./hello

转自:http://blog.csdn.net/yeruby/article/details/39450627

二、c++

$:vim hello.cpp

2、按i进入编辑模式。按esc退出编辑模式,输入源代码

#include <iostream>

using namespace std;

int main(int a,char*b[])

{

cout<<"hello world"<<endl;

return 0;

}

退出编辑模式,按住shift+两次z退出(命令行模式下,或者在底行模式下wq)

3、使用g++编译c文件

g++ hello.cpp -o hello

如果编译多个cpp为可执行文件:

g++ hello1.cpp hello2.cpp -o hello(或makefile)

4、会生成hello可执行文件,执行

./hello

gcc编译c、c++入门的更多相关文章

  1. GCC 编译详解

    GNU CC(简称为Gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C.C++和Object C等语言编写的程序.Gcc不仅功能强大,而且可以编译如C.C++.Object C.Jav ...

  2. GCC编译C程序源代码

    编译简单的 C 程序 C 语言经典的入门例子是 Hello World,下面是一示例代码: #include <stdio.h>  int main(void)  {     printf ...

  3. gcc编译基本用法~2

    编译简单的 C 程序 C 语言经典的入门例子是 Hello World,下面是一示例代码: ;} 我们假定该代码存为文件‘hello.c’.要用 gcc 编译该文件,使用下面的命令: $ gcc -g ...

  4. GCC 编译详解[转]

    转自http://www.cnblogs.com/azraelly/archive/2012/07/07/2580839.html GNU CC(简称为Gcc)是GNU项目中符合ANSI C标准的编译 ...

  5. gcc 编译动态库和静态库

    Linux C 编程入门之一:gcc 编译动态库和静态库 cheungmine 2012 参考: C程序编译过程浅析 http://blog.csdn.net/koudaidai/article/de ...

  6. gcc编译问题

    gcc avl.o hash.o list.o rb.o example.o -o 123.exe 多个.o输出 exe -c和-o都是gcc编译器的可选参数.-c表示只编译(compile)源文件但 ...

  7. GCC 编译详解 (转)

    GNU CC(简称为Gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C.C++和Object C等语言编写的程序.Gcc不仅功能强大,而且可以编译如C.C++.Object C.Jav ...

  8. gcc 编译时 include 搜索路径

    这是一个不复杂的问题:但是网上很多回答都不全面:偶找了一个比较全面的(测试过): 引用http://blog.csdn.net/fjb2080/archive/2010/01/23/5247494.a ...

  9. GCC 编译优化指南(转)

    GCC 编译优化指南(转) http://www.jinbuguo.com/linux/optimize_guide.html 作者:金步国 版权声明 本文作者是一位开源理念的坚定支持者,所以本文虽然 ...

随机推荐

  1. java FTP 上传下载删除文件

    在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件.下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件 ...

  2. 在Xcode中使用Git进行源码版本控制(转)

    http://www.cocoachina.com/ios/20140524/8536.html

  3. cocos2d-x 游戏优化方案

    优化的方案: 引擎底层优化.纹理优化.渲染优化.资源缓存.内存优化. 纹理优化: cocos2d-x 底层是OPenGL ES实现的. 对于图案片载入的内存是2的幂次方. 使用的图片是100*128 ...

  4. 【BZOJ4771】七彩树 主席树+树链的并

    [BZOJ4771]七彩树 Description 给定一棵n个点的有根树,编号依次为1到n,其中1号点是根节点.每个节点都被染上了某一种颜色,其中第i个节点的颜色为c[i].如果c[i]=c[j], ...

  5. 1282 时钟(最小表示法+hash)

    1282 时钟 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 有N个时钟,每个时钟有M个指针,P个刻度.时钟是圆形的,P个刻度均分整 ...

  6. Java工程师面试题整理[社招篇]

    http://blog.csdn.net/jackfrued/article/details/44921941 1.面向对象的特征有哪些方面?2.访问修饰符public,private,protect ...

  7. 记录-Hibernate+servlet实现简单的增、删、查、改

    由于需要对Hibernate作个了解,所以写了个简单的实现 以上是大概目录 1.新建Hibernate.cfg.xml配置文件 <?xml version='1.0' encoding='UTF ...

  8. SpringBoot使用H2内嵌数据库

    1.驱动 我们知道,JDBC是JDK自带的接口规范,不同的数据库有不同的实现,只需要引入相应的驱动包即可. 在使用MySQL数据库时,引入的是MySQL驱动,相应的,使用H2数据库时,也需要引入H2驱 ...

  9. after

    .pay-type_select-after, .amount-item_select-after { padding: 0; border: @wx-width-one_unit solid @co ...

  10. HTP 302 SEO作弊

    w 李智慧