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 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

最实用的Linux命令总结

1.linux安装中文环境(可选) 联网之后执行:sudo yum groupinstall chinese-support,安装完语言包之后修改/etc/sy...

2218
来自专栏深度学习之tensorflow实战篇

r安装包的详解

安装R语言的包的方法: 1. 自动安装(在线安装) 在R的控制台,输入 install.packages("gridExtra")  # 安装 gridExtr...

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

汇编语言 手记6

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

1857
来自专栏Linux驱动

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

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

2007
来自专栏蓝天

mysql-5.7.10普通安装

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

852
来自专栏python3

python3--模块和包,软件开发规范

在第一次导入某个模块时(比如my_module),会检查该模块是否已经被加载到内存中(执行文件的名称空间对应的内存),如果有则直接引用,如果没有,解释器则会查找...

842
来自专栏Java技术分享

快来看看我的 Idea总结

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

20010
来自专栏landv

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

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

3812
来自专栏程序猿DD

Spring Cloud构建微服务架构:消息驱动的微服务(消费分区)【Dalston版】

通过上一篇《消息驱动的微服务(消费组)》的学习,我们已经能够在多实例环境下,保证同一消息只被一个消费者实例进行接收和处理。但是,对于一些特殊场景,除了要保证单一...

3294
来自专栏野路子程序员

[小记]Centos7网络配置DNS配置解决、yum出错解决。

2965

扫码关注云+社区