linux下使用gcc编译运行C程序

gcc(GNU Compiler Collection)是Linux下最常用的C语言编译器,是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。 

在linux系统中,常见的使用方法有两种,如下:

gcc -o  out     in1    in2                          //gcc编译以及链接(对in1文件和in2文件进行编译生成out.bin文件,“-o”:表示生成可执行文件)
gcc -c  out     in1    in2                         // gcc编译不链接(对in1文件和in2文件文件进行编译生成out.o文件,“-c”:表示只生成*.o文件)

若在arm板里运行,就需要在linux系统中使用arm-linux-gcc交叉编译才行:

arm-linux-gcc -o  out     in1    in2                          //gcc编译以及链接(对in1文件和in2文件进行编译生成out.bin文件,“-o”:表示生成可执行文件)
arm-linux-gcc -c  out     in1    in2                         // gcc编译不链接(对in1文件和in2文件文件进行编译生成out.o文件,“-c”:表示只生成*.o文件)

以编译两个程序a.chello.c为示例:

vi a.c                                 //编辑a.c , 它将被hello.c调用,前提是这两个文件必须在同一目录下

内容如下:

vi hello.c                          //编辑hello.c

内容如下:

gcc -o hello  hello.c  a.c               //gcc编译以及链接(对hello.c文件和a.c文件进行编译生成hello.bin文件,“-o”:表示生成可执行文件)

./hello                                   //运行hello.bin

效果如下所示:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java技术分享

快来看看我的 Idea总结

这些是我平时记在有道云笔记的,现在截图过来了(直接ctrl+f搜索标题吧): 1.idea-解决端口冲突 2.导入导出ide设置settings.jar ...

19810
来自专栏hbbliyong

tar.xz文件如何解压

XZ压缩最新压缩率之王 xz这个压缩可能很多都很陌生,不过您可知道xz是绝大数Linux默认就带的一个压缩工具。 之前xz使用一直很少,所以几乎没有什么提起。 ...

42910
来自专栏landv

centos查看系统/硬件信息及运维常用命令

[root@yan-001 ~] # uname -a # 查看内核/操作系统/CPU信息的linux系统信息命令

3722
来自专栏蓝天

mysql-5.7.10普通安装

这里安装的是最新的MySQL 5.7.10,下载网址为:http://dev.mysql.com/downloads/mysql/,本文选择是的“Linux ...

852
来自专栏三木的博客

Linux shell 程序设计1——安装及入门

1、什么是shell? shell是linux内核的“壳”,是用户和内核的桥梁。它类似于windows下的命令提示符,将用户输入的命令解释给内核执行,并返回给用...

1926
来自专栏ytkah

教你一步步composer安装Magento2.2

  以前外贸建站一直用zencart,这段时间ytkah比较有时间,就决定用magento来创建一下站点。magento不像普通的程序一样下载就可以直接安装,需...

1172
来自专栏梧雨北辰的开发录

Python学习(2):环境安装与运行一、Windows安装Python二、Mac OS与Linux安装Python三、Python的三种运行方式

1903
来自专栏xingoo, 一个梦想做发明家的程序员

汇编语言 手记6

DEBUG使用技巧 在windows系统下,可以在运行中键入cmd,然后输入debug就可以进入了。 相关命令: R 查看改变CPU寄存器的内容 D 查看内存中...

1857
来自专栏令仔很忙

新手学Linux(八)----MySql安装(Centos7)

最近项目新申请了云服务器,老大让我搭了下环境,在安装MySql的时候遇到的坑稍微多点,所以在这里做个记录,我的安装方式不是通过安装包来安装的,而是通过yum来...

961
来自专栏张善友的专栏

Enterprise Library 4 缓存应用程序块的设计

缓存应用程序为以下目的而设计: 提供一个大小可管理的 API 集合。 允许开发人员添加标准的缓存操作到他们的应用程序中,而不用学习应用程序块的内部工作。 ...

1946

扫码关注云+社区