【发布时间】:2014-11-30 01:39:46
【问题描述】:
我正在使用 C 语言开发一个大型项目,我想使用接口 (.h) 和实现 (.c) 文件来组织它,类似于许多面向对象的语言,例如 Objective-C 或 Java。我熟悉在 C 中创建静态库,但我认为为我的项目这样做是不必要的复杂。如何在 ANSI C 中实现接口/实现范例?我主要使用 GCC 进行编译,但我的目标是严格遵守 ANSI C 和交叉编译器兼容性。谢谢!
【问题讨论】:
-
你真的是在谈论用 C 语言做 OOP 吗?
-
不,我基本上是在寻找一种将函数定义与所述函数的内部工作分开的方法,以及一种将相关函数等组合在一起的方法(例如 math.h)。我不想使用库,因为我不会在其他程序中重用函数,而且我可能还需要对功能进行频繁的更改。
-
在.h文件中将函数设为静态,只在.c文件中可见;
-
当您将函数声明放入 .h 文件并将定义放入 .c 文件时,这不就是您已经得到的吗?
-
extern 函数在文件外部可见,当您包含它时。静态函数仅在实现中可见。
标签: c ansi interface-implementation