Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10728
  • 博文数量: 1
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 22
  • 用 户 组: 普通用户
  • 注册时间: 2018-03-14 14:42
文章分类
文章存档

2018年(1)

我的朋友

分类: C/C++

2018-12-02 22:11:01

初学C语言的时候,我们不知道计算机怎么运行我们编写的文件,对于很多初学者来说,很误解的,如果在Vs环境中,你是看不到这样的现象的,在.c文件到可执行文件的时候,经历预处理.i到汇编.s文件,二进制.o文件,进行静态链接,生成可以执行文件,在执行程序文件时候会有一个在加载到内存中会有一个动态库的加载过程.so(Windows环境中就是.dll文件)。
gcc  -E  *.c      //生成*.i 文件 ,预处理
gcc -S   *.i      //生成*.s文件,翻译成汇编文件
gcc  -c  *.s      //生成*.o 文件,二进制文件,(汇编文件到二进制文件的过程叫做汇编)
gcc *.o           //可执行文件a.out   ,这里发生静态链接,就是把静态包含进去
./a.out  -l库名  //动态链接
执行文件的时候发生一个动态库加载链接,共享库,(linux在环境变量LD_LIBRARY_PATH,设置路径,关闭进程,重新在设置,可以在/etc/profile.d,编写配置.sh文件,每次打开都有,执行文件-l库名)windows上就很简单,尤其对linux不了解很头痛。
gcc   *.o     -o 指定的生成执行文件的名称   //生成名称自己决定  

阅读(1666) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:没有了

给主人留下些什么吧!~~