嵌入式学习笔记之gcc编译
来源:互联网 发布:淘宝打假赚钱 编辑:程序博客网 时间:2024/06/06 20:50
一个C/C++文件要经过预处理、编译、汇编和连接等4步才能变成可执行文件:
(1)以#开头的命令被统称为预处理,比如“#include”,宏定义命令“#define”和条件编译命令“#if”和 “#ifdef”等,经过预处理后的代码将输出到一个“.i”文件中去,预处理使用arm-linux-cpp工具;
(2)编译就是将“.i”代码“翻译”成汇编代码,即.s文件;
(3)汇编就是将汇编代码“翻译”成一定格式的机器语代码,即.o文件,汇编使用arm-linux-as工具;
例如:现在有main.c,sub.h以及sub.c三个文件。
file:main.c
#include <stdio.h>
#include "sub.h"
int main(int argc, char *argv[])
{
int i;
printf("Main fun!\n");
sub_fun();
return 0;
}
#include "sub.h"
int main(int argc, char *argv[])
{
int i;
printf("Main fun!\n");
sub_fun();
return 0;
}
file:sub.h
void sub_fun(void);
file:sub.c
void sub_fun(void)
{
printf("sub fun!\n");
}
现在在终端下进行编译:
(1) gcc -c -o main.o main.c
(2) gcc -c -o sub.o sub.c
(3) gcc -o test main.o sub.o
使用./test命令后,其打印结果为:
Main fun!
sub fun!
0 0
- 嵌入式学习笔记之gcc编译
- 嵌入式学习笔记 : GCC选项
- 【嵌入式开发】gcc 学习笔记(一) - 编译C程序 及 编译过程
- ARM学习笔记010之Gcc编译新问题
- C++学习笔记--GCC编译过程
- 【Linux学习笔记】gcc编译单个文件
- GCC学习笔记(一)--编译流程
- 嵌入式学习笔记之GPIO
- 嵌入式学习笔记之GPIO
- 嵌入式学习笔记之GPIO
- 嵌入式gcc的编译过程
- linux学习之三---gcc编译过程
- 嵌入式学习笔记---GCC编程与gdb调试
- gcc 学习笔记(一) - 编译C程序及编译过程
- 嵌入式编译器gcc的笔记
- GCC 编译命令笔记
- gcc 编译选项笔记
- 【s5p4418嵌入式学习】分步编译之uboot编译03
- 神奇的Annotation
- struts.xml配置详解
- https连接都发生了什么
- MySql Workbench的E-R图设计小技巧
- 解决 ajax请求 跨域问题
- 嵌入式学习笔记之gcc编译
- screen capture using CGDisplayStreamCreateWithDispatchQueue
- Redis数据库的备份与恢复
- layer中type=2的一些使用方法(添加成功后才关闭路由、刷新页面列表)
- removeInvalidParentheses
- opencv学习笔记(十)画直线、矩形、圆形、椭圆以及多边形程序
- css 样式中类之间有空格和无空格的区别
- Android图片加载神器之Fresco-加载图片基础[详细图解Fresco的使用]
- Android多进程实现及常见问题