【C语言】linux 下多文件编译

简介: 在Linux下,用命令编译 使用 gcc -c file.c 命令会生成一个相应的 file.o。 编译完所有的.c文件之后,使用命令 gcc a.o b.o c.o -o main 会在当前目录下生成一个linux可执行文件 再使用 .

在Linux下,用命令编译

使用 gcc -c file.c 命令会生成一个相应的 file.o。

编译完所有的.c文件之后,使用命令 gcc a.o b.o c.o -o main 会在当前目录下生成一个linux可执行文件

再使用 ./main 命令即可运行该C程序

以之前的简单链表为例

[root@iZwz94jyld0skyrwc1772eZ yeyeck]# ll
total 12
-rw-r--r-- 1 root root 1795 Sep  8 21:16 list.c
-rw-r--r-- 1 root root 1583 Sep  8 21:16 list.h
-rw-r--r-- 1 root root 1956 Sep  8 21:16 movies.c
[root@iZwz94jyld0skyrwc1772eZ yeyeck]# gcc -c list.c
[root@iZwz94jyld0skyrwc1772eZ yeyeck]# ll
total 16
-rw-r--r-- 1 root root 1795 Sep  8 21:16 list.c
-rw-r--r-- 1 root root 1583 Sep  8 21:16 list.h
-rw-r--r-- 1 root root 2712 Sep  8 21:28 list.o
-rw-r--r-- 1 root root 1956 Sep  8 21:16 movies.c
[root@iZwz94jyld0skyrwc1772eZ yeyeck]# gcc -c movies.c
[root@iZwz94jyld0skyrwc1772eZ yeyeck]# ll
total 20
-rw-r--r-- 1 root root 1795 Sep  8 21:16 list.c
-rw-r--r-- 1 root root 1583 Sep  8 21:16 list.h
-rw-r--r-- 1 root root 2712 Sep  8 21:28 list.o
-rw-r--r-- 1 root root 1956 Sep  8 21:16 movies.c
-rw-r--r-- 1 root root 4000 Sep  8 21:28 movies.o
[root@iZwz94jyld0skyrwc1772eZ yeyeck]# gcc movies.o list.o -o movies
[root@iZwz94jyld0skyrwc1772eZ yeyeck]# ll
total 36
-rw-r--r-- 1 root root  1795 Sep  8 21:16 list.c
-rw-r--r-- 1 root root  1583 Sep  8 21:16 list.h
-rw-r--r-- 1 root root  2712 Sep  8 21:28 list.o
-rwxr-xr-x 1 root root 13480 Sep  8 21:29 movies
-rw-r--r-- 1 root root  1956 Sep  8 21:16 movies.c
-rw-r--r-- 1 root root  4000 Sep  8 21:28 movies.o
[root@iZwz94jyld0skyrwc1772eZ yeyeck]# ./movies
Enter first movie title:
yyy
Enter your rating <0-10>:
5
Enter next movie title (empty line to stop):
uuu
Enter your rating <0-10>:
6
Enter next movie title (empty line to stop):
iii
Enter your rating <0-10>:
3
Enter next movie title (empty line to stop):

Here is the mpvie list:
Movie: yyy, Rating: 5
Movie: uuu, Rating: 6
Movie: iii, Rating: 3
You entered 3 movies. 
Bye!
[root@iZwz94jyld0skyrwc1772eZ yeyeck]# 

 

相关文章
|
13天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
104 5
|
13天前
|
Linux Shell 数据库
Linux文件查找新姿势:总有一种你没见过
【10月更文挑战第18天】文件查找是Linux用户提升工作效率的重要技能。本文介绍了几种实用的文件查找方法,包括基础的`find`命令、快速的`locate`和`mlocate`、高效的`fd`工具、以及结合`grep`和`rg`进行内容搜索。此外,还提供了编写Shell脚本和使用图形界面工具的建议,帮助你更灵活地管理文件。
52 3
|
2天前
|
网络协议 Linux
linux系统重要文件目录
本文介绍了Linux系统中的重要目录及其历史背景,包括根目录、/usr、/etc、/var/log和/proc等目录的结构和功能。其中,/etc目录下包含了许多关键配置文件,如网卡配置、DNS解析、主机名设置等。文章还详细解释了各目录和文件的作用,帮助读者更好地理解和管理Linux系统。
10 2
|
1天前
|
缓存 监控 Linux
|
4天前
|
Linux Shell 数据库
文件查找是Linux用户日常工作的重要技能介绍了几种不常见的文件查找方法
文件查找是Linux用户日常工作的重要技能。本文介绍了几种不常见的文件查找方法,包括使用`find`和`column`组合、`locate`和`mlocate`快速查找、编写Shell脚本、使用现代工具`fd`、结合`grep`搜索文件内容,以及图形界面工具如`Gnome Search Tool`和`Albert`。这些方法能显著提升文件查找的效率和准确性。
15 2
|
8天前
|
Linux 数据库
linux 全局搜索文件
在 Linux 系统中,全局搜索文件常用 `find`、`locate` 和 `grep` 命令。`find` 根据文件名、类型、大小、时间戳等条件搜索;`locate` 通过预构建的数据库快速查找文件;`grep` 在文件中搜索特定文本,常与 `find` 结合使用。选择合适的命令取决于具体需求。
|
11天前
|
Linux 开发工具 Perl
Linux命令替换目录下所有文件里有"\n"的字符为""如何操作?
【10月更文挑战第20天】Linux命令替换目录下所有文件里有"\n"的字符为""如何操作?
28 4
|
10天前
|
运维 安全 Linux
Linux文件清空的五种方法总结分享
每种方法各有优势,选择最合适的一种或几种,可以极大提高您的工作效率。更多有关Linux系统管理的技巧与资源,欢迎访问,持续提升您的运维技能。
56 1
|
18天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
64 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
20天前
|
Linux Shell 数据库
Linux文件查找新姿势:总有一种你没见过
文件查找是Linux用户提升工作效率的关键技能。本文介绍了几种不常见的文件查找方法,包括使用`find`结合`column`美化输出、利用`locate`和`mlocate`快速查找、编写Shell脚本自动化任务、使用现代工具`fd`以及结合`grep`和`rg`进行内容搜索。此外,还推荐了几款图形界面搜索工具。掌握这些技巧,让你的文件查找更加高效便捷。
47 2