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

相关文章

来自专栏BinarySec

Linux如何搜索动态库

在linux下安装一些程序,或者在做pwnable的时候经常出现没有找到动态库的情况。

773
来自专栏FreeBuf

网卡厂商自动识别工具(Python版, 附源代码)

看了这篇文章 ,觉得很实用,于是写了一个python 版的,支持Linux 和windows 平台使用,对于Linux (arp -n ) 和windows (...

3156
来自专栏指尖下的Android

Visual Studio 控制台中文乱码Bug

对vs不是很熟,百度了一下,有的告诉你设置编码格式,还有的让你去下载一个插件ForceUTF8 ,然后都是辣鸡,并没有卵用,最后解决在控制台上方的白色区域右键选...

791
来自专栏Flutter&Dart

Flutter升级到预览版

不管你怎么更新,就是更新不了,网速好又怎样?电脑配置高又怎样?这个bug还不是搞得你怎样都更新不了!

661
来自专栏LanceToBigData

linux(十一)之初始化文件

前面写了很多linux的知识,其实很多都是命令的,所以要去多多的练习才能学的更好,加油为了好工作。 要么现在懒惰,未来讨饭。要么现在努力,未来惬意。 一、初始化...

1887
来自专栏Linux驱动

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

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

1747
来自专栏java 成神之路

Tomcat startup.bat 原理分析

2699
来自专栏章鱼的慢慢技术路

运用模块方式写单片机程序

1316
来自专栏用户2442861的专栏

ubuntu source 点命令的作用

source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。

581
来自专栏ASP.NETCore

.NET Core爬坑记 1.0 项目文件

  之所以要写这个系列是因为在移植项目到ASP.NET Core平台的过程中,遇到了一些“新变化”,这些变化有编译方面的、有API方面的,今天要讲的是编译方面的...

723

扫码关注云+社区