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开发板中就需要使用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

效果如下所示:

时间: 2024-11-08 22:19:37

linux下使用gcc编译运行C程序的相关文章

关于在linux下用gcc编译头文件的问题。

关于在linux下用gcc编译头文件的问题. 2011-01-21 18:5215052135380 | 分类:其他编程语言 | 浏览8139次 有node.h prepare.h list.h file.h 这四个头文件, prepare.h中用到了node.h, list.h中用到了preapre.h , file.h中用到了list.h ,怎么用gcc对这四个头文件进行编译. 分享到: 2011-01-22 02:23 天天爱答题,抽奖送惊喜~ 提问者采纳 我用一个例子来告诉你怎么样在 C

Linux下的GCC编译指令

1简介 GCC 的意思也只是 GNU C Compiler 而已.经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言:它现在还支持 Ada 语言.C++ 语言.Java 语言.Objective C 语言.Pascal 语言.COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等.而 GCC 也不再单只是 GNU C 语言编译器的意思了,而是变成了 GNU Compiler Collection 也即是 GNU 编译器家族的意思了.另一方面,说到 GCC 对于操作系统平

在Linux下使用gcc编译mesa文件报undefined reference to symbol '[email protected]@GLIBC_2.2.5和DSO missing from command line两个错误的解决方案

一.概述 在Linux系统下使用gcc编译用C语言写的mesa的示例程序. 环境:Ubuntu Server 18.04.1 二.问题的出现 在Ubuntu下安装好mesa所需的库文件,将目标文件从github上克隆下来之后编译. 以上截取的是用gcc编译目标文件和传参的介绍: gcc:源程序将用gcc编译器进行编译: osdemo,c:将要被编译的源程序: -lOSMesa:链接OSMesa库: -lGLU:链接GLU库: -lGL:链接GL库: -o:指定目标名称: osdemo:编译后生成

在linux下安装eclipse以及运行c++程序的安装步骤

1.       下载jre,eclipse,cdt 其中jre是java运行环境,eclipse需要先装jre,才可能运行,cdt是在eclipse中运行c\c++程序的插件. 下载jre 网址是:http://www.oracle.com/technetwork/java/javase/downloads/index.html,点击JRE下载(如下图) 选择"Aceept License Argeement" (如上图) 点击"jre-7u21-linux-i586.bi

linux下利用gcc编译C和C++

gcc ------->默认编译c文件(gcc  xxx  -lstdc++链接到c++库编译c++,g++默认编译c++) 一.CC编译程序过程分四个阶段◆ 预处理(Pre-Processing)◆ 编译(Compiling)◆ 汇编(Assembling)◆ 链接(Linking) 1.1 预处理(Pre-Processing) gcc -E test.c -o test.i 或 gcc -E test.c 可以输出test.i文件中存放着test.c经预处理之后的代码.打开test.i文件

如何在linux下安装jdk并运行java程序

一.进入root 大家可以看到我这里用的是CentOS 6.5 系统 二.测试网络与YUM是否可用 1.测试网络 ping www.baidu.com,如下图就是通了 参考: 一.JDK安装1.linux下 yum直接安装:https://blog.csdn.net/youzhouliu/article/details/511831152.安装包安装(如果linux有网也可以去下或通过windows传输):(1)https://www.cnblogs.com/zeze/p/5902124.htm

windows下使用Eclipse编译运行MapReduce程序 Hadoop2.6.0/Ubuntu

一.环境介绍 宿主机:windows8 虚拟机:Ubuntu14.04 hadoop2.6伪分布:搭建教程http://blog.csdn.net/gamer_gyt/article/details/46793731 Eclipse:eclipse-jee-luna-SR2-win32-x86_64 二.准备阶段 网上下载hadoop-eclipse-plugin-2.6.0.jar (点击下载) 也可以自行编译(网上教程挺多的,可以自己百度 or Google) 三.begin 复制编译好的j

windows下使用Eclipse编译运行MapReduce程序 Hadoop2.6.0/Ubuntu(二)

在上篇文章中eclipse已经能访问HDFS目录,但并不能进行Mapreduce编程,在这里小编将常见错误和处理办法进行总结,希望对大家有所帮助 错误1:ERROR [main] util.Shell (Shell.java:getWinUtilsPath(303)) - Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable n

linux下安装codeblocks及写完程序之后编译成功但无法运行的原因

一:在软件中心输入codeblocks,然后点击安装,等着装完就行了. 再按ctrl+alt+t 打开终端 输入 sudo apt-get install gcc 而后再输入sudo apt-get install g++ 最后打开codeblocks写个 helloworld 试试吧. 二:helloworld小程序写完后,也编译通过了,但是却无法运行,那么你再看看保存的地方吧,要是不是保存在linux下的文档了,而是保存在磁盘里的话就是造成不能运行的结果了,更改保存位置试试看呗. 以上仅是我