Chinaunix首页 | 论坛 | 博客
  • 博客访问: 618673
  • 博文数量: 172
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 1252
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-29 22:26
文章分类

全部博文(172)

文章存档

2011年(6)

2010年(7)

2009年(159)

我的朋友

分类: LINUX

2009-07-03 23:03:03

试了几次,都稀里糊涂,今天终于从CU找到正解了,贴一下

 

按照你的情况修改Make.defines.OS, 然后make
完成后按照如下方法编译链接生成elf可执行文件:

先对file/ls1.c进行编译,生成目标文件ls1.o:
gcc -c -I ../include -o ls1.o ls1.c
[说明]:-c 仅进行编译
        -I ../include 因为ls1.c有头文件apue.h在../include中,要指定其所在
        -o ls1.o 输出文件,因为前面有-c选项,所以输出文件是目标文件ls1.o,而不是可执行文件
再进行链接,生成可执行文件ls1:
gcc -o ls1 ls1.o ../lib/libapue.a
[说明]:-o ls1 输出可执行文件
        ls1.o ../lib/libapue.a 将所需的目标文件和库文件链接生成可执行文件。

运行./ls1 /    就可查看/目录下的文件了。

对gcc使用不熟的可以man gcc,里面很详细;
上面方法嫌麻烦的话,可以写成makefile文件,make一下就行了。不过建议初学者还是先用这种方法,熟悉熟悉编译链接等的一些知识。
欢迎大家一起来讨论。
阅读(971) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~