Linux环境下编译链接调试C/C++源程序
2018-01-15 18:15
351 查看
一:单文形式
这里介绍最常用的GCC编译连接器。其中gcc基本的使用格式:gcc[选项] <filename>[选项][目标文件]
上面的使用格式中目标文件可以缺省,gcc会默认生成可执行的文件,生成名:编译文件.out。gcc会按照命令选项要求对输入文件进行预处理,编译,汇编,链接等操作,生成输出文件。
参考一些gcc命令手册有:
以千年规律:hello.c为例
#include<stdio.h> void main(){ printf("Hello GCC.\n"); }头文件包含#include<>和其他的宏定义(#define #ifdef等),在程序的预处理阶段,编译器将包含的头文件stdio.h编译进来,我们可以使用“-E”来查看,作用为让gcc在预处理阶段结束后停止编译过程。
-o 指令指定生成的预处理文件为heelo.i,其实-o hello.i 可以省略,这时候生成的预处理文件会被定向到标准输出设备上,我们可以查看下hello.i文件的内容:
-S 选项是指定gcc 在生成汇编文件后就停止。
同样的 -o 指定生成汇编文件myhello.s,-o myhello.s 可以省略,然后gcc就默认生成一个源文件同名的sourcefilename.s,我们也可以看看myhello.s:
-c 选项指定gcc生成目标文件后停止:
最后,如果gcc不使用-E -S -c等选项时候,仅仅使用-o,那么将直接生成可执行文件。
执行生成的可执行文件:
二:多文件的处理
这里写两个.c源文件:bubblesort.h
#ifndef _BubbleSORT_H #define _BubbleSORT_H display(); #endifbubblesort.c
#include<stdio.h> void display(){ printf("Hello GCC!\n"); }timespans.c
#include<stdio.h> #include<time.h> #include "bubblesort.h" int main(){ display(); return 0; }
相关文章推荐
- linux下c++编程环境搭建,运行过程以及调试,内含C++头文件源文件编译过程链接
- 第一次 Linux 环境下的程序编译与链接记录
- Linux下编译链接boost时的环境变量设置
- 在Linux下安装android开发环境并以USB调试方式链接手机进行开发
- Linux环境下的编译,链接与库的使用(一)
- Linux RedHat 9 QT4的编译、调试环境的搭建
- Linux Makefile自动编译和链接使用的环境
- Linux环境下的编译,链接与库的使用
- 编译链接------Linux环境下c语言静态链接库和动态链接库创建和使用
- Linux 学习第一天 搭建环境,编译,调试,运行
- Linux 环境下C编程指南-----gcc 编译的四大过程(预处理-编译-汇编-链接 )
- Linux环境下编译链接库
- 构建Visual Studio Code编译调试Linux C++环境
- Linux编译链接环境变量
- linux环境下编译链接汇编语言
- 编译链接------Linux环境下c语言静态链接库和动态链接库创建和使用
- Linux环境下的编译,链接与库的使用
- Linux RedHat 9 QT4的编译、调试环境的搭建
- Linux编译链接环境变量
- linux下GCC编译环境中二叉树遍历、C语言实现以及调试过程中段错误