C语言开发系统算法时 文件名冲突解决办法

来源:互联网 发布:顺兴软件 编辑:程序博客网 时间:2024/05/16 05:01

采用C语言进行系统开发的时候,难免会集成非常多的算法模块,而且这些算法模块有可能是不同的人所开发而成。一个人开发不同的算法模块都难免会重复定义和命名一些函数,更何况是多个人了!尤其是一些基础的算法函数模块,常常被反复使用。这里介绍两种解决策略:


方法一:采用前缀名

不同的算法模块一般在函数前面加上模块的的前缀名 比如 XXX_XXX_XXX_smooth_image(),这种方法清晰易懂,但是如果子模块很多,那么就会存在大量的前缀名,导致函数名不够简介。


方法二:采用静态函数

往往一个模块只有接口函数才被其他的模块调用,内部的函数往往仅限于本模块调用,因此对于接口函数采用前缀名的方式,而内部的函数可以使用静态函数。静态函数的解释可以参考:


C语言的静态函数

当一个源程序由多个源文件组成时,根据函数能否被其它源文件中的函数调用,将函数分为内部函数和外部函数。
1 内部函数(又称静态函数)
如果在一个源文件中定义的函数,只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用,这种函数称为内部函数。
定义一个内部函数,只需在函数类型前再加一个“static”关键字即可:
static  函数类型  函数名(函数参数表)
关键字“static”,译成中文就是“静态的”,所以内部函数又称静态函数。但此处“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件。

使用内部函数的好处是:不同的人编写不同的函数时,不用担心自己定义的函数,是否会与其它文件中的函数同名,因为同名也没有关系。

2 外部函数
外部函数的定义:在定义函数时,如果没有加关键字“static”,或冠以关键字“extern”,表示此函数是外部函数,也就是我们最常用的函数形式。


0 0
原创粉丝点击