Linux c/c++之多文档编译

简介: 这篇文章介绍了在Linux操作系统下使用gcc编译器进行C/C++多文件编译的方法和步骤。

Linux c/c++之多文档编译

首先创建一些文件

//main.c文件
#include <stdio.h>
#include "add.h"
#include "subtract.h"
#include "ride.h"

int main()
{
    int a = 0;
    int b = 0;
    printf("请输入两个整数:\n");
    scanf("%d%d",&a,&b);
    printf("加法: %d\n",add(a,b));
    printf("减法: %d\n",subtract(a,b));
    printf("乘法: %d\n",ride(a,b));

    return 0;
}
//add.c文件
#include "add.h"
int add(int a,int b){
    return a+b;
}
//add.h文件
#ifndef _ADD_H_
#define _ADD_H_

int add(int a,int b);

#endif

然后省略其它.c以及.h文件…

首先直接一个一个编译成.o文件

gcc -c main.c add.c ride.c subtract.c
在这里插入图片描述
然后链接.o文件生成可执行文件

gcc main.o add.o ride.o subtract.o -o main.exe
在这里插入图片描述
当然可以直接使用通配符*去一次性编译

gcc -c *.c
gcc *.o -o main.exe

在这里插入图片描述
总结:
主要简述Linux操作系统下的gcc多文档编译

相关文章
|
存储 安全 Java
Java 学习路线 35 掌握 List 集合从入门到精通的 List 集合核心知识
本文详细解析Java中List集合的原理、常用实现类(如ArrayList、LinkedList)、核心方法及遍历方式,并结合数据去重、排序等实际应用场景,帮助开发者掌握List在不同业务场景下的高效使用,提升Java编程能力。
761 0
|
算法 C++
基于移相控制与PI控制器的双有源全桥(DAB)控制实现
基于移相控制与PI控制器的双有源全桥(DAB)控制实现
|
消息中间件 网络协议 安全
【Hello Linux】多路转接之 epoll
【Hello Linux】多路转接之 epoll
307 0
|
网络协议 前端开发 Java
Coolbpf最新特性解读:profiler功能上线,助力性能分析和优化
本文介绍Coolbpf性能分析模块中的profiler功能。
|
Linux 开发工具 Windows
远程桌面for linux
远程桌面for linux
274 0
远程桌面for linux
微信文件传输助手文件夹在哪?一起来找找
  微信文件传输助手是微信电脑版与手机微信之间相互传输图片等文件的好工具,但很多童鞋都找不到微信文件传输助手文件夹在哪,就让我们一起找找吧   1.先说说手机微信文件传输助手文件夹在哪吧   文件夹路径为/Tencent/MicroMsg/Download/     2.
5075 0
|
算法 API C++
使用C++进行系统级编程的深入探索
【5月更文挑战第23天】本文探讨了C++在系统级编程中的应用,强调其接近底层、高性能、可移植性和面向对象编程的优势。关键技术和最佳实践包括:内存管理(智能指针和RAII原则)、多线程(std::thread和同步原语)、系统调用与API、以及设备驱动和内核编程。编写清晰代码、注重性能、确保安全稳定及利用开源库是成功系统级编程的关键。