c语言程序的多文件组织,C代码多文件的组织
現(xiàn)代社會的競爭,不再是個人間的競爭,而是一個團隊與其他團隊間的競爭。因此,這個競爭將顯的更加激烈。因為,他的決定因素更多。大型項目的開發(fā),團隊協(xié)作更加重要,項目能否按照原計劃實施,項目能否高效的開發(fā),在一定程度上隊友間默契的配合和合理的項目分工對其有重大的影響。合理的項目分工,項目組成員才能各司其職,整個項目才能有條不紊的進展。同時,在項目后期整合和調(diào)試的過程中才能起到事半功倍的效果(模塊化測試)。在項目開發(fā)過程中往往按照功能劃分模塊,即模塊化設計,這樣不但出錯了好糾錯,如果在后期將獨立的模塊制作成動態(tài)鏈接庫的話,同樣還可以方便軟件在后期的升級和維護。用C語言開發(fā),常常將獨立的模塊設計成單獨的文件以便使用和維護,本文將通過介紹多文件的方式來組織項目工程,進行模塊化設計。
1、 設計原則
a)???? 在頭文件中定義函數(shù)原型(或全局變量)
b)???? 在源文件中對函數(shù)進行實現(xiàn)
c)????? 在main(項目主任務文件)或其他文件中調(diào)用
d)???? 在調(diào)用文件中要么用include將定義函數(shù)(或全局變量)的*.h文件包含進來,要么通過extern對調(diào)用的函數(shù)(或全局變量)做顯式說明,當然兩者可同時存在,但不能同時不存在
2、 實例
//multifile.h
#ifndef _MULTIFILE_H_
#define _MULTIFILE_H_ 1
int global;
int add(int src1,int src2);
int sub(int src1,int src2);
#endif
//multifile.c
#include "multifile.h"
int global;
int add(int src1,int src2)
{
global++;
return (src1 + src2);
}
int sub(int src1,int src2)
{
global++;
return (src1 - src2);
}
//main.c
#include
#include "multifile.h"
//extern int global;
//extern int add(int src1,int src2);
//extern int sub(int src1,int src2);
int main()
{
int a = 15,b = 8;
printf("global:%d\n",global);
printf("add(a,b)%d\n",add(a,b));
printf("global:%d\n",global);
printf("sub(a,b):%d\n",sub(a,b));
printf("global:%d\n",global);
return 0;
}
3、 項目編譯
a) gcc -Wall -c main.c //不鏈接,生成main.o文件
b) gcc -Wall -c multifile.c //不鏈接,生成multifile.o文件
c) gcc main.o multifile.o -o main //生成main文件
4、 運行結(jié)果
global:0
add(a,b)23
global:1
sub(a,b):7
global:2
總結(jié)
以上是生活随笔為你收集整理的c语言程序的多文件组织,C代码多文件的组织的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何增强国家国防实力
- 下一篇: uboot启动linux,uboot中r