一,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
分享到:
相关推荐
### 使用GNU CC的相关知识点 #### 一、简介与版权信息 - **文档名称**:《Using GNU CC》 - **作者**:Richard M. Stallman - **最后更新时间**:2005年11月(适用于GCC版本4.0.2) - **版权所有者**:Free ...
《Gnu Make 使用手册》是理解与掌握自动化构建工具Gnu Make的重要参考资料。Gnu Make是开源软件项目中广泛使用的工具,它允许开发者通过规则定义如何编译、链接和其他方式处理源代码,从而实现构建软件的目标。在这...
这个"GNU Make 使用手册(中文)"是开发者们理解和掌握Make工具的重要参考资料,它提供了关于如何编写Makefile、管理依赖关系以及执行编译过程的详细指导。 Makefile是GNU Make的核心,它定义了项目的构建规则,...
### GNU make 使用手册知识点梳理 #### 一、make概述 - **阅读指南**:本手册旨在帮助用户深入了解GNU make的功能及其使用方法。建议初学者从基础概念入手,逐步过渡到高级特性,以便更好地掌握make工具。 - **...
总的来说,这份“GNU Make 使用手册”将帮助你深入理解Makefile的编写,提升你的项目构建效率,无论你是初学者还是经验丰富的开发者,都能从中受益匪浅。通过阅读和实践手册中的内容,你将能够熟练运用GNU Make来...
Make支持变量,如`CC=gcc`,可以将编译器设置为`gcc`,在规则中使用`${CC}`代替具体的命令。 **2.5 让make推断命令** Make可以根据目标的扩展名(如`.c`)自动推断编译命令,这样就不需要显式写出编译指令。 **...
《GNU make使用手册》是一本全面介绍GNU make工具的详细指南,对于想要深入理解和掌握Makefile编译自动化技术的IT从业者来说,是一份极其宝贵的资源。GNU make是Linux和类Unix系统中广泛使用的构建工具,它能够自动...
### 关于 Linux 下 GNU Make 的深入解析 #### 标题:介绍 Linux 下 GNU make 文档 #### 描述:Linux 环境下采用 C...对于任何希望在 Unix 系统上进行高效编程的开发者而言,掌握 GNU Make 的使用方法都是非常必要的。
了解和熟练使用GNU工具链对于Linux下的软件开发至关重要,无论是本机编译还是跨平台开发,这些工具都能提供强大的支持,帮助开发者创建高效、可靠的程序。通过掌握其工作原理和选项,开发者可以更好地控制编译过程,...
GNU Make for Windows是一个专为在Windows操作系统环境下使用的版本管理工具,它是GNU项目的一部分,由GNU组织开发和维护。Make工具是构建自动化系统的核心,它能够根据预定义的规则自动编译和链接源代码,极大地...
使用GNU make需要基本的计算机知识,包括命令行的使用、文件系统的组织方式等。此外,需要了解C语言和编译过程的基本知识。 第二章 GNU make 介绍 --------------------- 2 GNU make 介绍 GNU make是一个功能强大...
变量的使用可以简化Makefile,例如,使用`CC`变量来存储编译器名称,使得Makefile更具可读性和可维护性。Make还支持推断命令,即根据目标和依赖的类型自动选择构建命令。 #### 3. 编写Makefile 深入学习如何编写...
Gcc,全称GNU Compiler Collection,是一套包含了多种编程语言编译器的开源工具集,通常与GNU Make一起使用,构建和编译软件。 Makefile文件是GNU Make的核心,它定义了一系列规则,每个规则包含目标文件、依赖文件...
例如,可以定义一个变量CC来存储编译器路径,然后在规则中使用$(CC)。 5. **模式规则**:模式规则允许你为一类文件定义通用规则,比如“%.o : %.c”,表示所有以.o结尾的目标文件都可以从对应的.c文件生成。 6. **...
GNU CC 是一种基于 GCC(GNU Compiler Collection)的C编译器,它提供了许多扩展功能,其中一个重要的特性就是__attribute__机制。__attribute__允许程序员在声明函数、变量或类型时添加额外的元数据,以便让编译器...
### GNUMake使用手册核心知识点解析 #### 一、Makefile的重要性与作用 - **背景**: 在深入研究Linux操作系统的过程中,对于系统结构的理解至关重要。为了更深刻地掌握Linux的架构和编程理念,需要全面理解其源代码...
GNU make是开源社区广泛使用的构建工具,尤其在Linux环境中,它是项目管理和自动化编译的核心。这个版本,v3.0,虽然较旧,但仍然对理解makefile的编写和自动化构建流程有着重要的参考价值。 在软件开发中,尤其是...
GNU工具链是软件开发中的核心组件,特别是在嵌入式系统领域,它对于构建高效、可靠的系统至关重要。GNU工具链主要包括三个主要部分:GNU ...熟悉并掌握GNU工具链的使用,对于提升开发效率和产品质量具有重要意义。