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

Linux编译工具:gcc入门

2. gcc的特点 gcc是一个可移植的编译器,支持多种硬件平台。例如ARM、X86等等。 gcc不仅是个本地编译器,它还能跨平台交叉编译。...编译阶段,gcc调用不同语言的编译器,例如c语言调用编译器ccl。gcc实际上是个工具链,在编译程序的过程中调用不同的工具。汇编阶段,gcc调用汇编器进行汇编。....s -c 通知gcc取消连接步骤,即编译源码,并在最后生成目标文件 -Wall 使gcc对源文件的代码有问题的地方发出警告 -Idir 将dir目录加入搜索头文件的目录路径 -Ldir 将dir目录加入搜索库的目录路径...库的搜索路径 库的搜索路径遵循几个搜索原则:从左到右搜索-I -l指定目录,如果在这些目录中找不到,那么gcc会从由环境 变量指定目录进行查找。...头文件的环境变量是C_INCLUDE_PATH,库的环境变量是LIBRARY_PATH.如果还是找不到,那么会从系统指定指定目录进行搜索。

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...统一目录组织,修复环境变量的一些小问题 2013-05-24 增加安装pretty-printer的方法 2013-06-03 更新gcc到4.8.1,更新基础库,更新gdb到7.6,添加clean功能...同步gcc4.9编译脚本中修复的一些问题,增加编译选项等 2015-02-09 更新gcc到4.8.4(未测试,貌似这个版本加入了jit)

4.6K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux 编译安装 GCC 4.9

    详情及变更请参照: Linux 编译安装 GCC 4.9 GCC4.9发布啦,本脚本在之前4.8的基础上做了稍许改进,更新 PS:4.9.0 开始支持C++1y特性 GCC 4.9 的大致变更如下,...编译安装 GCC 4.9.X 准备环境及依赖项 支持 ISO C++ 98 的编译器(GCC 4.7.2 的中期一个patch导致的整个项目开始转为由C++编译) C标准库及头文件 用于创建...目录中的infrastructure目录下载 ) cloog 版本0.18.1(此处可下载 ftp://gcc.gnu.org/pub/gcc/infrastructure/ ) 我编译的环境...4.4.7 or gcc 4.4.5 or gcc 4.8.2 编译的依赖库: gmp 6.0.0a mpfr 3.1.2 mpc 1.0.2 isl 0.11.1 cloog 0.18.1...gdb和开启python功能 安装完成后,把[GCC源码目录]/libstdc++-v3/python 复制到[用户目录]/.gdb 编辑[用户目录]/.gdbinit,添加 python import

    7.6K10

    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 的中期一个...目录中的infrastructure目录下载 ) cloog 版本0.18.1(此处可下载 ftp://gcc.gnu.org/pub/gcc/infrastructure/ ) 我编译的环境...源码目录]/libstdc++-v3/python 复制到[用户目录]/.gdb 编辑[用户目录]/.gdbinit,添加 python import sys import os p = os.path.expanduser...到4.8.3,更新gdb到7.7.1,完全移除对ppl的依赖,同步gcc4.9编译脚本中修复的一些问题,增加编译选项等 2015-02-09 更新gcc到4.8.4(未测试,貌似这个版本加入了

    7K20

    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.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...以编译两个程序a.c和hello.c为示例: vi a.c                                 //编辑a.c , 它将被hello.c调用,前提是这两个文件必须在同一目录

    7.4K90

    【Android NDK 开发】NDK 交叉编译 ( NDK 函数库目录 | Linux 交叉编译环境搭建 | 指定头文件目录 | 指定函数库目录 | 编译 Android 命令行可执行文件 )

    文章目录 I . NDK platforms 目录下的 函数库 II . Ubuntu 配置 NDK 交叉编译环境 III . 同时指定编译的头文件和库文件 IV . 指定编译的头文件 V ....指定编译的库文件 VI . 指定编译的头文件与库文件 示例 I . NDK platforms 目录下的 函数库 ---- platforms 目录下的函数库: 1 ....: CC 是变量名 , 调用的时候使用 $CC main.c 即可调用上述路径中的 arm-linux-androideabi-gcc 工具编译 main.c 源文件 ; ④ 交叉编译 : 上述路径的编译器就是在..._64/bin/arm-linux-androideabi-gcc 2 ..../toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc 命令 ; ② 指定函数库

    5.3K20

    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.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...以编译两个程序a.c和hello.c为示例: vi a.c                                 //编辑a.c , 它将被hello.c调用,前提是这两个文件必须在同一目录

    6.1K70

    GCC命令编译

    1.GCC编译过程(原理如下,使用命令请见2) 从 hello.c 到 hello(或 a.out)文件, 必须历经 hello.i、 hello.s、 hello.o,最后才得到 hello(或a.out...test.c是c代码,预处理参数:-E ;另起名称:-o gcc -E test.c –o test.i #得到 .i文件 (2)编译,将预处理得到的源代码文件,进行“翻译转换”,产生出机器语言的目标...编译参数:-S gcc -S test.i #得到 .s文件 (3)汇编,将汇编代码翻译成了机器码,但是还不可以运行,后缀是 .o文件。...编译参数:-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

    【香菇带你学Linux】​Linux环境的gcc编译安装

    前言 gcc(GNU Compiler Collection)是GNU项目的一部分,它是一个支持多种编程语言的编译器集合,但最常用的是作为C和C++的编译器。...所以只能选择源码编译安装。当前系统gcc版本为7.3.0,要升级到10以上..../ 这里我们下周最新的版本6.2.1版本 可以下载到本地再上传到Linux主机,若Linux主机可以访问公网,也可以通过wget方向直接下载到Linux主机。...-6.2.1.tar.bz2 # 进入解压后的文件夹 [weihu@localhost soft]$ cd gmp-6.2.1/ # #创建并进入安装目录 [weihu@localhost gmp-6.2.1...我用的命令为 make -j$(nproc) 使用 -j 选项可以指定同时运行的作业(即编译任务)的最大数量。如果 -j 后面跟的是一个数字,那么 make 会尝试同时运行指定数量的作业。

    31600

    gcc编译的过程

    前言 GCC 仅仅是一个编译器,没有界面,必须在命令行模式下使用。通过 gcc 命令就可以将源文件编译成可执行文件。...一、gcc 编译四步骤 二、gcc编译常用参数 -I 指定头文件所在目录位置 -c 只做预处理,编译,汇编。...得到二进制文件 -g 编译时添加调试文件,用于 gdb 调试 -Wall 显示所有警告信息 -D 向程序中“动态”注册宏定义 -l 指定动态库库名 -L 指定动态库路径 三、文件后缀名对应表 后缀名 类型...) .so 动态链接库文件(linux) .lib 静态链接库文件(windows) .dll 动态链接库文件(windows) 四、预处理 预处理是读取 c 源程序,对其中的伪指令(以 # 开头的指令...gcc -S hello.i -o hello.s 不同的编译器交叉编译同一个 hello.i 文件生成的汇编文件也不相同,这也是 C 语言可移植性的一种体现。

    26310

    gcc编译命令_cmake 编译

    这里未指定输出文件,默认输出为a.out。 2. 选项 -o 用法:#gcc test.c -o test 作用:将test.c预处理、汇编、编译并链接形成可执行文件test。...虽然Linux下的大多数函数都默认将头文件放到/usr/include/目录下,而库文件则放到/usr/lib/目录下;Windows所使用的库文件主要放在Visual Stido的目录下的include...但也有的时候,我们要用的库不再这些目录下,所以GCC编译时必须用自己的办法来查找所需要的头文件和库文件。...: gcc –L /usr/dev/mysql/lib –lmysqlclient test.o –o test Linux下的库文件分为两大类分别是动态链接库(通常以.so结尾)和静态链接库(通常以...编译目标代码时指定的动态库搜索路径 2. 环境变量LD_LIBRARY_PATH指定的动态库搜索路径 3. 配置文件/etc/ld.so.conf中指定的动态库搜索路径 4.

    1.9K30

    gcc编译

    一、gcc编译编译器:把文件经过处理,生成对应的可执行文件。 //test.c文件: X86平台上面:   gcc编译器,可以在x86平台上面运行。...ARM平台上面的:   arm-linux-gcc   交叉编译器:在一个平台编译生成可执行文件,在另外一个平台运行可执行文件。   例如windows下面的keil就是一个交叉编译器。 ?...\n"); } gcc编译 gcc main.c -o main ? ? ? ? ? ? ? ? ? ? ? ? 例子: 下面以一个很简单的 main.c 来探讨这个过程。...(2) 编译gcc -S main.i -o main.s  (3) 汇编:as main.s -o main.o       nm main.o  (4) 链接:gcc -o main  mian.o.../main 三、Linux的静态库和动态库 ? ? ? ? ? ? ? ?   上面2个文档:sequence.c、sequence.h 可以做出库的形式,让其他的文件调用。

    2.1K10
    领券