Chinaunix首页 | 论坛 | 博客
  • 博客访问: 460976
  • 博文数量: 179
  • 博客积分: 3236
  • 博客等级: 中校
  • 技术积分: 1860
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-25 19:13
文章分类

全部博文(179)

文章存档

2011年(34)

2008年(8)

2007年(27)

2006年(110)

分类: LINUX

2006-04-08 18:18:17


Linux 下的C编程基础篇(1)
 
1:编译语法
 
/* hello.c */ 
#include"stdio.h" 
#include"stdlib.h"
 
main(int argc,char **argv)
{
    fprintf(stdout,"Hello, I am a test procedure\n");
}
 
[root@kcn-110]#gcc -c hello.c
 
-c:只输出目标代码
 
[root@kcn-110]#gcc -o hello hello.c
 
-o:输出名字为hello的可执行程序
 
[root@kcn-110]#gcc -g -o hello hello.c 
 
-g:输出的可执行程序带有调试信息
 
2:Makefile
 
(1) head1.h
 
/* head1.h */
#ifndef INC_HEAD1_H
#define INC_HEAD1_H
void print1(char *c);
#endif
 
(2) print1.c
 
/* print1.c */
#include"head1.h"
#include"stdio.h"
void print1(char *c)
{
    fprintf(stdout,"%s\n",c);
}
 
(3) head2.h
 
/* head2.h */
#ifndef INC_HEAD2_H
#define INC_HEAD2_H
void print2(char *c);
#endif
 
(4) print2.c
 
/* print2.c */
#include"head2.h"
#include"stdio.h"
void print2(char *c)
{
    fprintf(stdout,"%s\n",c);
}
 
(5) main.c
 
/* main.c */
#include"head1.c" 
#include"head2.c" 
main(int argc,char **argv)
{
    print1("hello, I am the first print string");
    print2("hello, I am the second print string");
}
 
(6) Makefile
 
/* Makefile */
main:main.o print1.o print2.o
    gcc -o main main.o print1.o print2.o
main.o:main.c head1.h head2.h
    gcc -c main.c
print1.o:print1.c head1.h
    gcc -c print1.c
print2.o:print2.c head2.h
    gcc -c print2.c clean: rm *.o
 
(7) another Makefile
 
/* another Makefile */
main:main.o print1.o print2.o
    gcc -o $@ $^
main.o:main.c head1.h head2.h
    gcc -c $<
print1.o:print1.c head1.h
    gcc -c $<
print2.o:print2.c head2.h
    gcc -c $<
 
Makefile 的格式是:
 
目标文件:依赖文件
(TAB)规则
$@:目标文件
$^:所有的依赖文件
$<:第一个依赖文件
 
. 。 o O

阅读(934) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~