博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gcc编译
阅读量:4583 次
发布时间:2019-06-09

本文共 707 字,大约阅读时间需要 2 分钟。

一个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;

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!

如果在编译过程中出现警告,可以使用 gcc -w来忽略警告。

转载于:https://www.cnblogs.com/dq23578/p/6774130.html

你可能感兴趣的文章
LeetCode 96:Unique Binary Search Trees
查看>>
kernel-char设备的建立
查看>>
DVWA-CSRF
查看>>
ubuntu common software introduction
查看>>
资源相互引用时 需添加 PerformSubstitution=True
查看>>
MapRedece(单表关联)
查看>>
蒲公英App开发之检测新版本
查看>>
【安卓基础】倒计时按钮封装(验证码倒计时按钮)
查看>>
configparser模块
查看>>
SelectQueryBuilder的用法
查看>>
android的用户定位(一)
查看>>
creat-react-app搭建的项目中按需引入antd以及配置Less和如何修改antd的主题色
查看>>
IIS安装
查看>>
html块级元素和行级元素的区别和使用
查看>>
for循环嵌套
查看>>
寒冬夜行人
查看>>
poj1151 Atlantis
查看>>
HTML页面之间的参数传递
查看>>
java面试题集锦
查看>>
scikit-learn:4.2.3. Text feature extraction
查看>>