分享

多文件编译方法

 Rainboy913 2013-11-28

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

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

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

 

单文件夹情况:

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

源码:

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

#include <stdio.h>

 

main()

{

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

       test();

       maybe();

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

}

 

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

#include <stdio.h>

 

void maybe()

{

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

}\

 

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

#include <stdio.h>

 

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,可以更方便。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多