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

Linux编译工具:gcc入门

.s -c 通知gcc取消连接步骤,即编译源码,并在最后生成目标文件 -Wall 使gcc对源文件的代码有问题的地方发出警告 -Idir 将dir目录加入搜索头文件的目录路径 -Ldir 将dir目录加入搜索库的目录路径...对hello.c文件进行预处理,生成了hello.i 文件 gcc -S hello.i -o hello.s 对预处理文件进行编译生成了汇编文件 gcc -c hello.s -o hello.o...对汇编文件进行编译生成了目标文件 gcc hello.o -o hello 对目标文件进行链接,生成可执行文件 gcc hello.c -o hello 直接编译链接成可执行目标文件 gcc -c...hello.c 或 gcc -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

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
您找到你想要的搜索结果了吗?
是的
没有找到

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/ ) 我编译的环境...4.4.7 or gcc 4.1.2 or gcc 4.4.5 编译的依赖库: gmp 6.0.0a mpfr 3.1.2 mpc 1.0.2 isl 0.11.1 cloog 0.18.1...到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 的大致变更如下,...编译安装 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...编译目标: gcc 4.9.X binutils 2.24 python 2.7.8 [按需] gdb 7.7.1 (如果存在ncurses-devel包) 注: (所有的库都会被安装在

7.5K10

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

命令概述 gcc命令使用GNU推出的基于C/C++的编译器,是开放源代码领域应用最广泛的编译器,具有功能强大,编译代码支持性能优化等特点。...GCC的初衷是为GNU操作系统专门编写的一款编译器。GNU系统是彻底的自由软件。此处,“自由”的含义是它尊重用户的自由。 02. 命令格式 用法:gcc [选项] 文件… 03....gcc 组件的相对路径时不生成规范化的 前缀 -pipe 使用管道代替临时文件 -time 为每个子进程计时 -specs= 用 的内容覆盖内建的 specs 文件 -std= 指定输入源文件遵循的标准...参考示例 4.1 生成默认的可执行文件 [deng@localhost bak]$ gcc test.c [deng@localhost bak]$ 将test.c预处理、汇编、编译并链接形成可执行文件...bak]$ gcc test.o testfun.o -o test [deng@localhost bak]$ 到此这篇关于Linux gcc命令的具体使用的文章就介绍到这了,更多相关Linux gcc

6.6K20

Linux gcc编译生成静态库和共享动态库的过程

这篇文章主要通过实例演示在Linux下如何使用gcc分别编译生成静态库和动态库文件以及其它程序如何使用这个生成的静态库和动态库。...[root@typecodes howto_gen_static_lib]# 3 生成动态库文件 可以如下面3.1小节所示通过gcc直接生成动态库文件,也可以像3.2小节中那样依次生成realname、...3.1 直接编译生成symbolic link动态库文件 ##### 生成hello.o目标文件 [root@typecodes ~]# gcc -c -fPIC hello.c ##### 生成动态库文件...软连接,最后创建link name软链接 ##### 生成hello.o目标文件 [root@typecodes ~]# gcc -c -fPIC hello.c ##### 生成共享库:对应real...-64.so.2 (0x00007f641cf53000) 3.1小节中的方法需要root用户权限,对于非root用户有方法二来解决:如前文《Linux gcc链接动态库出错:LIBRARY_PATH

11510

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

7.3K90

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

6K70

gcc编译命令_cmake 编译

常用编译命令选项 假设源程序文件名为test.c。 1. 无选项编译链接 用法:#gcc test.c 作用:将test.c预处理、汇编、编译并链接形成可执行文件。...用法: #gcc -c testfun.c //将testfun.c编译成testfun.o #gcc -c test.c //将test.c编译成test.o #gcc -o testfun.o...虽然Linux下的大多数函数都默认将头文件放到/usr/include/目录下,而库文件则放到/usr/lib/目录下;Windows所使用的库文件主要放在Visual Stido的目录下的include...例如我们的程序test.c是在linux上使用c连接mysql,这个时候我们需要去mysql官网下载MySQL Connectors的C库,下载下来解压之后,有一个include文件夹,里面包含mysql...: gcc –L /usr/dev/mysql/lib –lmysqlclient test.o –o test Linux下的库文件分为两大类分别是动态链接库(通常以.so结尾)和静态链接库(通常以

1.8K30

Ubuntu搭建arm-linux-gcc交叉编译环境

arm-linux-gcc 下载路径:链接:https://pan.baidu.com/s/1tYGsb9_BA_hSr78GA3F5Zw 密码:05xo1、下载工具并解压 将 arm-linux-gcc...-4.5.1-v6-vfp-20120301.tgz 拷贝到 Linux 中,并解压到根目录:sudo tar -zxvf arm-linux-gcc arm-linux-gcc 下载路径: 链接:https....tgz 拷贝到 Linux 中,并解压到根目录: sudo tar -zxvf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz -C /     这样解压到了根目录的 ...2) .  ~/.bashrc 3)source  ~/.bashrc 3、测试是否安装成功     输入 arm-linux-gcc -v,如果看到 gcc version 4.5.1 说明安装成功。...如果出现错误命令找不到,是因为使用的 Ubuntu 是 64 位的,而我们所安装的交叉编译工具是 32 位的,缺少 32 位的库: sudo apt-get install lsb-core sudo

5.6K20

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

mingw(gcc)编译openjpeg

linux/windows二进制文件,目前最新的版本是2.1(https://github.com/uclouvain/openjpeg/releases/tag/version.2.1) 但官方提供的二进制文件只提供了...dll,如果想要将代码静态编译到项目中需要自己下载源代码编译。...当生成动态库的时候,还可以参加参数 -DCMAKE_GNUtoMS=ON 生成MSVC格式的导入库(import library .lib文件)。这样MSVC就可以直接使用GCC编译的动态库了。...参见我之前的博客《cmake:让mingw(gcc)生成MSVC可用的dll(.lib)》 -DCMAKE_BUILD_TYPE=RELEASE 就是生成RELEASE,这个参数即使不定义,默认也是生成.../bin/opj_dump.exe 因为我的操作系统是64的,所以生成的目标代码也是64位的,如果要生成32位的目标代码,需要安装32位的编译器就是(mingw32)。

1.8K20
领券