一、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. python django -4 模板

    模板介绍 作为Web框架,Django提供了模板,可以很便利的动态生成HTML 模版系统致力于表达外观,而不是程序逻辑 模板的设计实现了业务逻辑(view)与显示内容(template)的分离,一个视 ...

  2. 图像增强之DDE---基于红外图像的数字图像细节增强DDE

    (1)DDE应用背景 (2)DDE算法简介 (3)DDE 实现 (4)DDE 总结和不足 ----------author:pkf -----------------time:2-9 -------- ...

  3. C# 持续序列化对象追加到文件的方法

    最近有个需求,将内存和帧数数据序列化到二进制文件.为了节省内存,采用了100个对象的数组,每次存满就序列化到文件,然后归零继续存,以追加的性式继续序列化到原有文件. 这样相当于多个数组对象存在了同一个 ...

  4. Android-ViewPagerIndicator框架使用——LinePageIndicator

    前言:LinePageIndicator类似CirclePageIndicator,只是将圆点指示变成了长条指示. 一:使用是定义的布局文件simple_lines : <LinearLayou ...

  5. 如何学习TP框架

    1.学习访问方法 2.控制器的写法 3.视图的写法 4.模型的写法 5.扩展类的用法 6.扩展插件的用法

  6. 辛星教你高速掌握PHP的正則表達式

    首先说一下,这篇文章也是我在看了数个大牛的博客之后总结出来的,因此首先向这些大牛表示崇高的敬意和感谢,因为人数众多.并且来源也是特别分散,就不一一介绍了,见谅. ************跨语言的主题* ...

  7. 编写自己的cp命令

    有时候要对整个目录做备份,修改cp1.c使得当两个参数都是目录时,把第一个目录中的所有文件复制到第二个目录中,文件名不变.那么该如何实现? 我们先来看看cp1.c的实现方式,它从一个文件中读取数据然后 ...

  8. (转)gethostbyname() -- 用域名或主机名获取IP地址

    struct hostent *gethostbyname(const char *name); 这个函数的传入值是域名或者主机名,例如"www.google.cn"等等.传出值, ...

  9. 合并子目录(hash)

    题目2 : 合并子目录 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi的电脑的文件系统中一共有N个文件,例如: /hihocoder/offer22/soluti ...

  10. 记录-java(jxl) Excel导入数据库

    本内容主要包括(文件上传.excel2003数据导入数据库)excel导入数据库功能需要jxl  jar包支持 下面是文件上传的前端测试代码 <%@ page language="ja ...