GNU开发笔记--开发环境基础(持续更新)
来源:互联网 发布:手机天网视频软件 编辑:程序博客网 时间:2024/06/05 21:56
GCC(GNU C Compiler)是GNU项目中符合 符合ANSI C 标准的编译系统,能够编译调用 C 、C++、object C等语言编写的程序,同时gcc 也是一个交叉编译器,特别适用于不同平台的嵌入式开发。
一、GCC程序编译过程:
源文件.c >(预处理)> 预编译文件.i >(编译)> 汇编文件.s >(汇编)> 目标文件.o >(链接)> 可执行文件
vim abc.c //用vim创建一个abc.c文件 /* 在vim下编写程序*/i //进入插入模式 #include<stdio.h> int main () { printf("hello world \r"); return 0; }:wq // 保存 abc.c文件并退出gcc -o build abc.c //gcc abc.c -o build./build //执行build文件
二、GCC 手册
在实际使用gcc中如果遇到未知的错误,可以产看手册
man gcc
就能进入 GCC的介绍页面,哪里不会看哪里。
介绍一下搜索:
/ XXXX //搜索关键字n //下一个N //上一个/* 如果查询其他的功能,可以按“h”进入帮助文档*/
三、了解编译过程
1、编写程序
vim 1.c //首先利用vim 编写一个hello world的程序
#include <stdio.h>int main (){printf("hello world");return 0;}
:wq //保存退出
2、进行预编译(预处理)
gcc -E 1.c -o 1.i //进行预编译
然后产看一下 1.i的内容
3、编译
gcc -S 1.i -o 1.s //对1.i文件进行编译生成1.s的汇编文件
查看一下1.s文件,内容均为汇编语言
再次查看一下文件的大小
4、生成目标文件
gcc -c 1.c 1.s -o 1.o
查看一下1.o的内容
然后再看一下文件的大小
file 1.o //查看一下1.o的文件属性
5、链接
gcc 1.o -o build
最后完成链接,运行程序屏幕就出现了 “hello world”
6、调试
gcc -g 1.c -o 2./2
四、添加头文件
1、指定路径头文件
在abc.c 的中添加一个头文件abc.h,因此需要添加abc.h的路径,这样才能使编译器找到abc.h。需要调用 “-I”
gcc -I. abc.c -o build//"."表示当前路径//-I表示指定路径
在当前文件中建立一个inc的文件夹,存放abc.h
gcc -I./inc abc.c -o build
1 0
- GNU开发笔记--开发环境基础(持续更新)
- GNU开发环境基础-------GCC开发环境
- Android开发初级阶段笔记(持续更新)
- Extjs 开发笔记【持续更新】
- Android开发遇到的问题笔记(持续更新)
- 游戏开发流程与思想学习笔记(持续更新)
- Python开发实战学习笔记(持续更新)
- lua开发中的一些小笔记(持续更新)
- 微信小程序开发笔记及心得(持续更新)
- IOS开发-笔记记录-------------持续更新
- WINDWOS 驱动开发笔记-------持续更新
- 前端学习笔记之页面制作(二)——开发环境Sublime Text2(持续更新)
- GNU/Linux 开发环境 (1)
- GNU/Linux 开发环境 (2)
- 开发问题(持续更新)
- openwrt 开发,持续更新
- 开发细节,持续更新...
- GNU开发环境基础,gcc,gdb,makefile, init启动过程
- Java初学者需掌握的30个基本概念
- 【HDU3466】Proud Merchants(01背包)
- Problem-1017
- Better History(历史记录)
- [R语言] quantmod 包获取国内的股票数据
- GNU开发笔记--开发环境基础(持续更新)
- Jsp
- java:double四舍五入并保留两位小数的方法
- 商业即生活,一些思考和感悟
- Problem-1016
- Android原理探究:Activity任务栈Task的简单探讨
- 二叉树的生成和遍历
- Android RecyclerView 使用完全解析 体验艺术般的控件
- Python学习笔记(一)