首页 > 编程知识 正文

linux下载gcc命令,ubuntu安装gcc编译器

时间:2023-05-04 12:48:16 阅读:34749 作者:958

编译c

首先,程序的编译过程是:

1 .预处理(展开宏,展开头文件,检查代码是否有误) )。

2 .编译(将. c转换为汇编代码. s ) )。

3 .汇编(将汇编代码. s转换为机器代码. o ) )。

4 .链接(将所有机器代码. o和库文件链接到一个可执行程序)。

典型的编译常常包括:预处理、编译和程序集

在linux系统上,编译c使用gcc编译器,如以下:所示

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

不链接gcc -c in1.c in2.c -o out.o //gcc编译(编译in1和in2文件以生成out.o文件,

“-o':指示仅生成*.o文件中的第二个“-o':并指定要生成哪个. o文件)

(如果只想编译和链接单个文件,也可以直接输入:gcc in.c。 缺省情况下,系统将编译并生成a.out可执行文件。)

如果需要在arm板上运行,则必须在linux系统上使用arm-linux-gcc交叉编译:

arm-Linux-gcc-oout in1. CIN2. c//gcc编译和链接(编译in1和in2文件以生成out.bin文件,“- o”:生成可执行文件

arm-Linux-gcc-CIN1. CIN2. c-oout.o//gcc编译不链接(编译in1和in2文件生成out.o文件,

“-o':指示仅生成*.o文件中的第二个“-o':并指示要生成哪个. o文件)

-I //表示要添加头文件的位置

在编译一般程序时,如果说找不到某个头文件,在编译时直接加上“-I该头文件的目录”,就可以进行编译了

-l //指定库文件、紧接在l之后的库文件、例如数学库:-lm与libm.so文件对应,删除lib和. so即可

编译程序时,如果通常找不到某个函数定义,则可能是因为没有添加库文件。 例如,如果找不到cos ()函数定义,则在编译时直接添加“-lm”就可以了

编译c

方法与上述相同,使用g编译器,但编译器会自动链接到c库

注意需要:c11标准时,需要gcc 4.8以上

编译两个c文件(a.c和hello.c )的示例:

编辑VIa.c//a.c。 由hello.c调用。 但是,两个文件必须位于同一目录中

内容如下:

编辑VIhello.c//Hello.c

内容如下:

gcc-ohello.ca.c//gcc编译和链接(意味着编译hello.c和a.c文件以生成hello.bin文件,“- o”:生成可执行文件)

运行./hello//hello.bin

效果如下所示:

在linux上使用gcc编译和运行c程序

通用计算机编译(gcc )是Linux上最常用的c语言编译器,是GNU项目中符合ANSI C标准的编译系统,用于编译用C.C和Object C等语言编写的程序.

在linux上,检查正在运行的程序占用了多少内存

在linux下,查看正在运行的程序占用了多少内存。 在常见命令中,(1).ps aux:中,VSZ )或VSS列指示程序占用了多少虚拟内存。 RSS列显示程序消耗了多少东西.

在Linux上用gcc编译hello world

验证Linux系统上安装了gcc测试:输入gcc后,使用HelloWorld.c创建touch创建一个空文件,表明以下结果表明安装成功: 在vim编辑中按a或I插入.

在u bunt 14期间; 04lpar; linuxrpar; 在中用cmake编译并运行opencv程序

今天在电脑上安装了opencv环境。 我等不及要写程序来测试了。 但是,在windows上使用vs等集成开发工具。 但是,在linux上该怎么办? 在此,我们使用opencv推荐的cmake进行了编辑.

c语言编写适合windows和linux的套接字客户端,用GCC编译运行

* gcc -Wall -o c1 c1 .

c语言书写适合windows和linux的套接字服务器端,用GCC编译运行

* gcc -Wall -o s1 s1 .

在Linux下使用

用gcc运行C语言程序

Linux下使用最广泛的C/C++编译器是GCC,大多数的Linux发行版本都默认安装,不管是开发人员还是初学者,一般都将GCC作为Linux下首选的编译工具.本教程毫不犹豫地使用GCC来编译C程序. ...

Linux下指定版本编译安装LAMP

说明: 操作系统:CentOS 6.5 64位 需求: 编译安装LAMP运行环境 各软件版本如下: MySQL:mysql-5.1.73 Apache:httpd-2.2.31 PHP:php-5.2 ...

随机推荐

Bootstrap<基础二十四> 缩略图

Bootstrap 缩略图.大多数站点都需要在网格中布局图像.视频.文本等.Bootstrap 通过缩略图为此提供了一种简便的方式.使用 Bootstrap 创建缩略图的步骤如下: 在图像周围添加带有 ...

myeclipes准备工作

设置jsp中默认编码为utf-8

MySQL存储过程权限分析

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://huanghualiang.blog.51cto.com/6782683/1216 ...

【HDOJ】1104 Remainder

bfs. #include #include #include #include

php5.3 PHP5.4 PHP5.5 新特性/使用PHP5.5要注意的

1.PHP 5.3中的新特性 1.1 PHP 5.3中的新特性 1.1.1. 支持命名空间 (Namespace) 毫无疑问,命名空间是PHP5.3所带来的最重要的新特性. 在PHP5.3中,则只 ...

HTML基础下

知识点一: HTML5的标准结构:

wamp的mysql设置用户名和密码

wamp下修改mysql root用户的登录密码 感谢作者:http://www.3lian.com/edu/2014/02-25/131010.html               1.安装好wam ...

Python的伪造数据生成器:qxdjd

我们在开发中常常需要利用一些假数据来做测试,这种时候就可以使用 qxdjd 来伪造数据从而用来测试. qxdjd 是一个可以让你生成伪造数据的Python包.lmdjb需要初始化数据库,创建美观的XML文档 ...

奇怪的组数length属性

Java中的数组其实也是一个对象,但是确实是一个特殊的对象,实在是太特殊了,继承自Object, 多出一个属性length,改写了clone方法.   我debug了数组对象的运行时的Class对象, ...

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。