Chinaunix首页 | 论坛 | 博客
  • 博客访问: 294385
  • 博文数量: 70
  • 博客积分: 1990
  • 博客等级: 上尉
  • 技术积分: 686
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-02 08:52
文章分类

全部博文(70)

文章存档

2015年(2)

2014年(9)

2013年(2)

2012年(20)

2011年(1)

2010年(36)

分类: LINUX

2012-03-07 22:02:13

源码编译时会遇到下面两种情况:

1)同一文件夹下面,一个.c需要使用另外.c的函数,怎么办?

2)一个.c需要使用不同文件夹下面的.c函数,怎么办?

 

单文件夹情况:

文件分布:main.c,       maybe.c,test.c3个文件同在compile文件夹下。

源码:

/*---------------- main.c------------------------*/

#include

 

main()

{

       printf("1--start\n");

       test();

       maybe();

       printf("4--end\n");

}

 

/*------------------- maybe.c----------------------*/

#include

 

void maybe()

{

       printf("3--maybe\n");

}\

 

/*--------------------test.c---------------------*/

#include

 

void test()

{

       printf("2--test\n");

}

 

编译和运行:

 

多文件夹情况:

文件分布:

compile------main.c

|————test------test,c

|————maybe---maybe.c

源码与前面保持不变。

编译方法与运行效果:

 

编程小结:

3个源文件,多种编译方式:

1)一次性编译

       >#gcc main.c test.c maybe.c

也可以使用:                    

       >#gcc *.c              【懒人法】

2).o+.c

       >#gcc test.c

       >#gcc maybe.c

       >#gcc main.c test.o maybe.o

3)先编译.c,再编译.o           

       >#gcc -c *.c          【懒人法】

       >#gcc *.o             

 

多文件夹和单文件夹的区别在于需要指定路径。

       >#gcc main.c ./maybe/maybe.c ./test/test.c

 

编程建议:将这些编译命令写成Makefile,可以更方便。

阅读(1901) | 评论(0) | 转发(0) |
1

上一篇:gdb调试简单例子

下一篇:源码编译过程

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