Chinaunix首页 | 论坛 | 博客
  • 博客访问: 258561
  • 博文数量: 54
  • 博客积分: 2915
  • 博客等级: 少校
  • 技术积分: 486
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-21 12:20
个人简介

这个人很懒,什么都没有留下

文章分类
文章存档

2013年(1)

2012年(6)

2011年(11)

2010年(16)

2009年(20)

我的朋友

分类: C/C++

2011-08-05 15:03:27

LINUX下C编程
使用GCC

gcc -o hello hello.c
gcc编辑器有很多选项,一般我们知道几个常用的便可:
-o表示我们要求编译器给我们输出的可执行文件名为hello 而hello.c是我们的源程序文件
-c,表示我们要求编译器输出目标代码,而不必输出可执行文件
-g,表示我们要求编译器在编译的时候提供我们以后对程序进行调试的信息

在Makefile中,以#开始的行都是注释行。Makefile中最重要的是描述文件的依赖关系的说明。
一般的格式为:
target:components
TAB rule
第一行是依赖关系,第二行是规则

Makefile有三个非常有用的变量,分别是$@, $^, $<。
$@,代表目标文件
$^,所有依赖文件
$<,第一个依赖文件

Makefile的缺省规则  
.c.o: 
gcc -c $< 
这个规则表示所有的 .o文件都是依赖与相应的.c文件的.例如mytool.o依赖于mytool.c

程序库链接
如:gcc -c main main.c -lm
-lm,表示链接库libm。格式是-l*,*指的是lib*中的*。明白了吧!

摘录:
5.头文件和系统求助  
    有时候我们只知道一个函数的大概形式,不记得确切的表达式,或者是不记得着函数在那个头文件进行了说明.这个时候我们可以求助系统.  
比如说我们想知道fread这个函数的确切形式,我们只要执行 man fread 系统就会输出着函数的详细解释的.和这个函数所在的头文件说明了. 如果我们要write这个函数的说明,当我们执行man write时,输出的结果却不是我们所需要的. 因为我们要的是write这个函数的说明,可是出来的却是write这个命令的说明.为了得到write的函数说明我们要用 man 2 write. 2表示我们用的write这个函数是系统调用函数,还有一个我们常用的是3表示函数是C的库函数.  
记住不管什么时候,man都是我们的最好助手.
  
阅读(358) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~