`

GNU CC 使用

 
阅读更多

一,GCC用法实例

程序 hello.c
$gcc hello.c -o hello //告诉GCC对源程序进行编译/链接,使用 -o 指定创建名为hell.o 的可执行程序

$./hello //执行这个程序

整个过程细节

1,GCC首先运行预处理程序cpp展开hello.c 中的宏,并在其中插入#include 文件所包含的内容

2,把预处理后的源代码,编译成目标代码

3,最后,链接程序建立一个名为,hello 的二进制文件


手工操作重新创建这些步骤:

1, $gcc -E hello.c -o hello.cpp // -E告诉GCC在预处理后,停止编译过程

此时你打开 预处理后的 hello.cpp 文件你将会看到 扩展宏并插入 #include <stdio.h>后的内容

2,gcc -x cpp-output -c hello.cpp -o hello.o // 将hello.cpp 编译为目标代码

-x 表示 GCC从指定的步骤开始编译,这里就是从预处理后开始编译。

3,gcc hello.o -o hello //链接目标文件,生成二进制代码

二,多个源码文件组成的C程序的编译

程序helper.c


程序helper.h


修改后的hello.c


$gcc hello.c helper.c -o hello //同时编译两个文件

三,makefile 的使用
如果含有多个源文件的程序,编译命令打起来比较费劲。所以采用makefile文件,跟make 指令

首先确定已经建立了hello.c helper.c helper.h三个文件

然后在以上三个文件的目录下,建立makefile文件


说明:

$make // 编译成hello 程序

如果只想生成 hello.o helper.o

$make hello.o helper.o





分享到:
评论

相关推荐

    Using GNU CC.pdf

    ### 使用GNU CC的相关知识点 #### 一、简介与版权信息 - **文档名称**:《Using GNU CC》 - **作者**:Richard M. Stallman - **最后更新时间**:2005年11月(适用于GCC版本4.0.2) - **版权所有者**:Free ...

    Gnu Make 使用手册

    《Gnu Make 使用手册》是理解与掌握自动化构建工具Gnu Make的重要参考资料。Gnu Make是开源软件项目中广泛使用的工具,它允许开发者通过规则定义如何编译、链接和其他方式处理源代码,从而实现构建软件的目标。在这...

    GNU Make 使用手册(中文)

    这个"GNU Make 使用手册(中文)"是开发者们理解和掌握Make工具的重要参考资料,它提供了关于如何编写Makefile、管理依赖关系以及执行编译过程的详细指导。 Makefile是GNU Make的核心,它定义了项目的构建规则,...

    GNU Make 使用手册(PDF中文)

    总的来说,这份“GNU Make 使用手册”将帮助你深入理解Makefile的编写,提升你的项目构建效率,无论你是初学者还是经验丰富的开发者,都能从中受益匪浅。通过阅读和实践手册中的内容,你将能够熟练运用GNU Make来...

    GNU Make 使用手册

    Make支持变量,如`CC=gcc`,可以将编译器设置为`gcc`,在规则中使用`${CC}`代替具体的命令。 **2.5 让make推断命令** Make可以根据目标的扩展名(如`.c`)自动推断编译命令,这样就不需要显式写出编译指令。 **...

    GNU make使用手册(高清可编辑).PDF

    《GNU make使用手册》是一本全面介绍GNU make工具的详细指南,对于想要深入理解和掌握Makefile编译自动化技术的IT从业者来说,是一份极其宝贵的资源。GNU make是Linux和类Unix系统中广泛使用的构建工具,它能够自动...

    介绍linux下 GNU make文档

    ### 关于 Linux 下 GNU Make 的深入解析 #### 标题:介绍 Linux 下 GNU make 文档 #### 描述:Linux 环境下采用 C...对于任何希望在 Unix 系统上进行高效编程的开发者而言,掌握 GNU Make 的使用方法都是非常必要的。

    linux 下GNU工具链的使用介绍

    了解和熟练使用GNU工具链对于Linux下的软件开发至关重要,无论是本机编译还是跨平台开发,这些工具都能提供强大的支持,帮助开发者创建高效、可靠的程序。通过掌握其工作原理和选项,开发者可以更好地控制编译过程,...

    GNU Make For Windows

    GNU Make for Windows是一个专为在Windows操作系统环境下使用的版本管理工具,它是GNU项目的一部分,由GNU组织开发和维护。Make工具是构建自动化系统的核心,它能够根据预定义的规则自动编译和链接源代码,极大地...

    GNU make手册.pdf

    使用GNU make需要基本的计算机知识,包括命令行的使用、文件系统的组织方式等。此外,需要了解C语言和编译过程的基本知识。 第二章 GNU make 介绍 --------------------- 2 GNU make 介绍 GNU make是一个功能强大...

    GNU Make使用手册.doc

    变量的使用可以简化Makefile,例如,使用`CC`变量来存储编译器名称,使得Makefile更具可读性和可维护性。Make还支持推断命令,即根据目标和依赖的类型自动选择构建命令。 #### 3. 编写Makefile 深入学习如何编写...

    GNU_Make_使用手册

    Gcc,全称GNU Compiler Collection,是一套包含了多种编程语言编译器的开源工具集,通常与GNU Make一起使用,构建和编译软件。 Makefile文件是GNU Make的核心,它定义了一系列规则,每个规则包含目标文件、依赖文件...

    GNU Make 使用手册(中译版)

    例如,可以定义一个变量CC来存储编译器路径,然后在规则中使用$(CC)。 5. **模式规则**:模式规则允许你为一类文件定义通用规则,比如“%.o : %.c”,表示所有以.o结尾的目标文件都可以从对应的.c文件生成。 6. **...

    GNU_CC中的attribute

    GNU CC 是一种基于 GCC(GNU Compiler Collection)的C编译器,它提供了许多扩展功能,其中一个重要的特性就是__attribute__机制。__attribute__允许程序员在声明函数、变量或类型时添加额外的元数据,以便让编译器...

    GNUMake使用手册

    ### GNUMake使用手册核心知识点解析 #### 一、Makefile的重要性与作用 - **背景**: 在深入研究Linux操作系统的过程中,对于系统结构的理解至关重要。为了更深刻地掌握Linux的架构和编程理念,需要全面理解其源代码...

    GNU make v3.0

    GNU make是开源社区广泛使用的构建工具,尤其在Linux环境中,它是项目管理和自动化编译的核心。这个版本,v3.0,虽然较旧,但仍然对理解makefile的编写和自动化构建流程有着重要的参考价值。 在软件开发中,尤其是...

    关于GNU的工具链,很实用

    GNU工具链是软件开发中的核心组件,特别是在嵌入式系统领域,它对于构建高效、可靠的系统至关重要。GNU工具链主要包括三个主要部分:GNU ...熟悉并掌握GNU工具链的使用,对于提升开发效率和产品质量具有重要意义。

Global site tag (gtag.js) - Google Analytics