2009-01-12 82 views
3

我只需要用C代码几次,看起来每次我都会变成一些难以控制的野兽。规划和组织C应用程序开发的最佳方式是什么?

我已经在C#和.Net中完成了大部分编程工作,所以我非常习惯于类风格架构,但我似乎无法掌握C应用程序中的组织。我是否应该将相关的函数放在某个文件中,将函数定义放在一个文件中并在另一个文件中处理,等等。在这个主题上有没有很好的资源?

参见:Struggling with C coming from Object Oriented land?

回答

7

这里有一个比喻,可以帮助你:

类是某种和一组函数来访问和操作数据的数据结构。 c语言不提供任何合成糖来为你组织这种关系,但你仍然可以围绕这个想法构建你的代码。所以,就这样做吧:设计你围绕一堆“课程”进行项目。

代码组织通常发生在两种形式之一:

  • 每个函数获得一个头(接口)与一个.h延伸和一个实现文件的文件与.c扩展
  • 每个“类”(即相关函数集)获取一个头文件和一个实现文件。

所以,你已经知道如何做到这一点...

3

C Interfaces and Implementations由大卫·汉森解释在第一章中一个很好的可用组织方案(如果我没有记错),并显示它在其余的发展中国家实质性库使用。

2

旧的“structured programming”编码C程序的方式是将它们模块化成文件。确保将所有相关的代码放入单个文件中,而不是在对象中添加代码。

如果您认为文件是一个穷人的对象,那么您将主要在那里组织您的C应用程序,就像您使用C#应用程序一样。

2

由于在C#中的经验,你可能有兴趣在答复我的SO问题:“Object-Orientation in C”。如果他们对你感兴趣,那么查看对相关问题的回应可能是有用的:“Can you write object oriented code in c?”。如果您打算使用上述问题的答案中提到的任何方案,请记住最重要的是您的设计,而不是语法糖可能会/可能不会使它看起来很漂亮。

相关问题