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 shell 程序设计1——安装及入门

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

21060
来自专栏程序猿DD

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

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

36340
来自专栏熊二哥

Linux快速入门03-系统管理

这部分将涉及常用的各类linux命令和一些系统高级管理特性,尤其是shell script的创建,这部分在系统自动化运维时会很有作用。 ? 在进入bash介绍...

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

r安装包的详解

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

29750
来自专栏加米谷大数据

MongoDB 安装和可视化工具

MongoDB 是一款非常热门的NoSQL,面向文档的数据库管理系统,我选择的是 Enterprise Server (MongoDB 3.2.9)版本,安装在...

35310
来自专栏野路子程序员

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

44050
来自专栏企鹅号快讯

最实用的Linux命令总结

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

33480
来自专栏python3

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

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

11420
来自专栏Python

linux每日命令(20):find命令概览

Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的...

10320
来自专栏农夫安全

Knock 子域名扫描工具

Knock是一款Python编写的工具,通过单词列表来枚举目标域上的子域。扫描DNS区域传输,并尝试绕过通配DNS记录。再最新版本中knockpy支持查询Vir...

78530

扫码关注云+社区

领取腾讯云代金券