首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

gcc(GNU Compiler Collection)是Linux下最常用的C语言编译器,是GNU项目中符合ANSI C标准的编译系统,能够编译CC++和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

7.3K90

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

gcc(GNU Compiler Collection)是Linux下最常用的C语言编译器,是GNU项目中符合ANSI C标准的编译系统,能够编译CC++和Object C等语言编写的程序。 ...在linux系统中,常见的使用方法有两种,如下: gcc -o 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...gcc -o hello  hello.c  a.c               //gcc编译以及链接(对hello.c文件和a.c文件进行编译生成hello.bin文件,“-o”:表示生成可执行文件

6K70
您找到你想要的搜索结果了吗?
是的
没有找到

Linux编译工具:gcc入门

预处理实际上是将头文件、宏进行展开。编译阶段,gcc调用不同语言的编译器,例如c语言调用编译器ccl。gcc实际上是个工具链,在编译程序的过程中调用不同的工具。汇编阶段,gcc调用汇编器进行汇编。...4. gcc常用选项 来看一下gcc常用选项 选项名 作用 -o 产生目标(.i、.s、.o、可执行文件等) -E 只运行C编译器 -S 告诉编译器产生汇编程序文件后停止编译,产生的汇编语言文件拓展名为...对汇编文件进行编译,生成了目标文件 gcc hello.o -o hello 对目标文件进行链接,生成可执行文件 gcc hello.c -o hello 直接编译链接成可执行目标文件 gcc -c...hello.cgcc -c hello.c -o hello.o 编译生成可重定位目标文件 使用gcc时可以加上-Wall选项。...gcc hello.c main.c -o main 生成可执行文件main 也可以独立编译gcc -Wall -c main.c -o main.o gcc -Wall -c hello.c

4.7K50

Linux 编译安装 GCC 4.8

Linux 编译安装 GCC 4.8 详见: Linux 编译安装 GCC 4.8 GCC4.8发布啦,这个脚本在之前4.7的基础上做了点改进,移除一些过时的组件,增加了检测不到时自动下载源码包 PS:...4.8.1开始全面支持C++11特性,并且脱离了ppl库,gdb也开始脱离ppl库了 编译安装 GCC 4.8.X 在执行 install.sh 脚本前安装 ncurses-devel 和 python-devel..., 用于编译gdb和开启python功能 安装完成后,把[GCC源码目录]/libstdc++-v3/python 复制到[用户目录]/.gdb 编辑[用户目录]/.gdbinit,添加 编译安装gdb...History: 2013-03-26 Created 2013-04-11 改进脚本,增加统一编译选项,增加对binutils和gdb可选包的编译,增加自动把PREFIX_DIR变为绝对路径的问题,...同步gcc4.9编译脚本中修复的一些问题,增加编译选项等 2015-02-09 更新gcc到4.8.4(未测试,貌似这个版本加入了jit)

4.4K50

c++ access函数_LinuxGCC编译C程序过程

今天说一说c++ access函数_LinuxGCC编译C程序过程,希望能够帮助大家进步!!! 1.函数功能: 检查调用进程是否可以对指定的文件执行某种操作。...2.函数原型: 1)函数头文件 #include #include 只听到从架构师办公室传来架构君的声音: 听杜宇声声,劝人不如归去。有谁来对上联或下联?...2)函数 int access(const char * pathname, int mode) 3)形参 pathname:需要检测的文件路劲名 mode:需要测试的操作模式。...失败返回-1,errno被设为以下的某个值 EINVAL: 模式值无效 EACCES: 文件或路径名中包含的目录不可访问 ELOOP : 解释路径名过程中存在太多的符号连接 ENAMETOOLONG...:路径名太长 ENOENT:路径名中的目录不存在或是无效的符号连接 ENOTDIR: 路径名中当作目录的组件并非目录 EROFS: 文件系统只读 EFAULT: 路径名指向可访问的空间外 EIO

2.9K10

C++ gcc编译过程

C++编译过程主要分为,预处理、编译、汇编、链接四个过程。如下图所示: 第一步:预处理 将源代码的.c 、.cpp 、.h 等文件包含到一个文件中。...在这个过程中会使用一些预处理指令要求编译器使用什么样的方式包含这些文件。预处理结束之后对于c语言编译器会生成一个.i 文件C++会生成.ii文件。...·删除所有的注释//和 /**/; ·添加行号和文件标识,如#2 “hello.c” 2,以便于编译编译器产生调试用的行号信息及用于编译时产生编译错误或警告时能够显示行号信息; ·保留所有的#pragma...注意这里的cpp命令不是C plus plus 而是C Preprocessor。.ii文件实际上是编译器要处理的文件文件内容包括.h头文件和.cpp源代码文件中的所有内容。...1.使用编译指令 注意这里cc1是数字的1.不是字母l.并且cc1位于minGw安装目录下的 libexec\gcc\mingw32\4.8.1 目录下。并没有默认在bin目录下。需要注意配置。

5.1K10

Linux 编译安装 GCC 4.8

Linux 编译安装 GCC 4.8 详见: Linux 编译安装 GCC 4.8 GCC4.8发布啦,这个脚本在之前4.7的基础上做了点改进,移除一些过时的组件,增加了检测不到时自动下载源码包 PS:...4.8.1开始全面支持C++11特性,并且脱离了ppl库,gdb也开始脱离ppl库了 编译安装 GCC 4.8.X 准备环境及依赖项 支持 ISO C++ 98 的编译器(GCC 4.7.2 的中期一个...patch导致的整个项目开始转为由C++编译) 用于创建Ada编译器的GNAT 支持POSIX的shell或GNU bash POSIX或SVR4的 awk工具 GNU binutils gzip...目录中的infrastructure目录下载 ) cloog 版本0.18.1(此处可下载 ftp://gcc.gnu.org/pub/gcc/infrastructure/ ) 我编译的环境...到4.8.3,更新gdb到7.7.1,完全移除对ppl的依赖,同步gcc4.9编译脚本中修复的一些问题,增加编译选项等 2015-02-09 更新gcc到4.8.4(未测试,貌似这个版本加入了

6.9K20

Linux 编译安装 GCC 4.9

详情及变更请参照: Linux 编译安装 GCC 4.9 GCC4.9发布啦,本脚本在之前4.8的基础上做了稍许改进,更新 PS:4.9.0 开始支持C++1y特性 GCC 4.9 的大致变更如下,...+内联函数性能分析的改进、函数排序等) 支持OpenMP 4.0[并行计算] CC++、Fortran增加date-time警告 GNAT切换到Ada2012 C/C++ 增加编译信息带颜色输出...更新的内容我就无情地忽略啦 Go语言1.2.1版本的接口 还有一系列针对特定编译目标架构的优化 编译安装 GCC 4.9.X 准备环境及依赖项 支持 ISO C++ 98 的编译器(GCC...4.7.2 的中期一个patch导致的整个项目开始转为由C++编译C标准库及头文件 用于创建Ada编译器的GNAT 支持POSIX的shell或GNU bash POSIX或SVR4的 awk...目录中的infrastructure目录下载 ) cloog 版本0.18.1(此处可下载 ftp://gcc.gnu.org/pub/gcc/infrastructure/ ) 我编译的环境

7.5K10

linuxgcc使用方法_linux怎么用gcc编译

命令概述 gcc命令使用GNU推出的基于C/C++的编译器,是开放源代码领域应用最广泛的编译器,具有功能强大,编译代码支持性能优化等特点。...参考示例 4.1 生成默认的可执行文件 [deng@localhost bak]$ gcc test.c [deng@localhost bak]$ 将test.c预处理、汇编、编译并链接形成可执行文件...4.8 多文件编译 [deng@localhost bak]$ gcc testfun.c test.c -o test [deng@localhost bak]$ 将testfun.c和test.c分别编译后链接成...4.9 多文件编译方法二 [deng@localhost bak]$ gcc -c test.c [deng@localhost bak]$ gcc -c testfun.c [deng@localhost...bak]$ gcc test.o testfun.o -o test [deng@localhost bak]$ 到此这篇关于Linux gcc命令的具体使用的文章就介绍到这了,更多相关Linux gcc

6.6K20

gcc编译器参数_gcc for c4droid

执行过程 虽然我们称GccC语言的编译器,但使用gccC语言源代码文件生成可执行文件的过程不仅仅是编译的过程,而是要经历四个相互关联的步骤∶预处理(也称预编译,Preprocessing... int main() { sayhello(); return 0; } 使用如下命令进行编译 $gcc -c testlib.c -o testlib.o 用如下命令连接...花在Linux上的时间明显少了点,等过两天把这个小程序开发完毕以后马上转回正行。 三 、 示例 在创建函数库前,我们先来准备举例用的源程序,并将函数库的源程序编译成.o文件。...因此,我们必须将源程序hello.c通过gcc编译成.o文件。 在系统提示符下键入以下命令得到hello.o文件。...,也是在使用到这些公用函数的源程序中包含这些公用函数的原型声明,然后在用gcc命令生成目标文件时指明动态库名进行编译

89730

gcc编译c语言程序以及其编译过程

对于初学c语言编程的我们来说,学会如何使用gcc编译器工具,对理解c语言的执行过程,加深对c语言的理解很重要!!!...预编译hello.c,预编译之后得到的文件的名字叫hello.i。...(注意:编译后的名字可以随意起,但是呢我们知道预编译后的文件还是文本的.c文件,所以为了好区分起名字为 xxx.c,这里我们为了显示整个过程,预编译后的文件名我们起为xxx.i。)...在c语言中#开头的语句又叫预编译指令。例如:#include 预编译的功能之一:会把include包含的头文件内容做一个简单的替换,即替换到.c文件里面去。 .........gcc -o hello.o hello.s -c 或者 gcc -o hello.o -c hello.s 或者 gcc -c hello.s -o hello.o (-c 参数:是gcc对目标文件执行指令转换的操作

1.6K10

gcc编译临时文件存放路径

仔细看了下错误信息,这个ccGjoKTF.s应该是编译过程的中间文件,其中文件名是随机值。然而makefile中并未要求保留汇编代码。...写了个demo,用strace(strace gcc test)跟踪了下,发现gcc不仅把汇编代码(.s)写到了tmp目录,也把二进制文件(.o)写到了tmp目录,并且编译完成自动删除临时文件。...如果在编译的时候使用-S或者-C选项,则会把对应的中间文件保存在当前目录,而不是tmp目录。...如果在编译的时候使用-save-temps选项,也会把中间产物保存在当前目录,并且编译完成不删除临时文件。 查资料发现原来gcc默认把编译过程中的中间文件写到tmp目录。...如果不想让gcc把中间文件写到tmp目录,可以设置环境变量TMPDIR。

2.8K20

qt交叉编译环境搭建_arm linux gcc

aarch64-linux-gnu-gcc 是一个交叉编译工具链,可以在其他架构的系统中,编译安装 64 位 arm 架构的程序。常用在嵌入式代码的移植中。...aarch64-linux-gnu-gcc 是由 Linaro 公司基于 GCC 推出的的 ARM 交叉编译工具。...aarch64-linux-gnu-gcc 交叉编译器必须安装在 64 位主机上,才能编译目标代码。...如果你在安装的过程中,出现了问题,也可以直接从官方网站下载编译好的二进制文件,直接运行,不过,得注意下载的版本要与硬件架构、系统版本相符。...建议直接从 linaro 的官网下载相应版本的 gcc-linaro 交叉编译工具,并直接选择带有二进制的文件,即在官网入口处选择 binaries 路径,该文件夹下面包含各种版本的已经编译好的 aarch64

6.4K10

S3C2440② | arm-linux-gcc交叉编译工具链

1.为什么需要交叉编译工具 宿主机运行的是标准Linux操作系统,编译出的程序却需要在目标处理器(S3C2440@ARM920T)上跑,这就叫交叉编译编译器叫做交叉编译器。...之前我们已经使用过gcc编译Linux本地主机的程序(Linux C语言编程(上篇) | gcc的使用),而我们现在需要的这个编译器的目标系统是ARM,不运行操作系统,仅运行裸机程序,需要在Linux主机上编译出可以运行在...S3C2440@ARM920T芯片上跑的程序,所以不能使用这个编译器,需要使用arm-linux-gcc交叉编译器。...2.arm-linux-gcc的安装 arm-linux-gcc是ARM官方基于Linux平台的arm编译器,其特点有: 开源免费 支持的ARM芯片多 功能强大,稳定 2.1.下载arm-linux-gcc...arm-linux-objdump 在嵌入式开发中大部分程序是使用C语言编写的,但是在遇到一些问题的时候,需要将由C语言编译生成的可执行程序反汇编,根据汇编程序排查错误,使用工具arm-linux-objdump

3.8K40

GCC命令编译

1.GCC编译过程(原理如下,使用命令请见2) 从 hello.c 到 hello(或 a.out)文件, 必须历经 hello.i、 hello.s、 hello.o,最后才得到 hello(或a.out...这 4 步大致的工作内容如下: (1)预处理,C 编译器对各种预处理命令进行处理,包括头文件包含、宏定义的扩 展、条件编译的选择等,后缀是 .i文件。...test.cc代码,预处理参数:-E ;另起名称:-o gcc -E test.c –o test.i #得到 .i文件 (2)编译,将预处理得到的源代码文件,进行“翻译转换”,产生出机器语言的目标...编译参数:-c gcc -c test.s #得到 .o文件 (4) 链接,处理可重定位文件,把各种符号引用和符号定义转换成为可执行文件中 的合适信息,通常是虚拟地址,后缀是 .out 文件或者可执行文件...gcc hello.o #得到 .out文件 2.GCC编译使用命令 最简单使用命令 gcc test.c #在gcc命令紧跟test源文件名,会有一个 .out 文件 gcc test.c

1.1K10
领券