学习C程序设计的资源
来自OO背景(C#/java)的我正在寻找学习如何设计好纯C程序的资源 虽然我熟悉C语言的语法,也能编写小程序,但我不确定大型应用程序采用什么方法,以及采用什么技术。任何你们能推荐的 编辑:为了用C语言编程,我很高兴完全放弃OO,我的兴趣是学习如何在没有OO的情况下构造程序,我想学习用过程语言(如C)设计程序的好方法。这里有一些关于C中OO编程的不同问题。我发表了一篇关于我使用过的一些C代码的帖子,这些代码基本上推动了面向对象,不包括虚拟方法 如果我在做C编码,我会使用这种技术来定义“对象” 我发现记住总是很有帮助的,并且可以在大多数语言中实现学习C程序设计的资源,c,C,来自OO背景(C#/java)的我正在寻找学习如何设计好纯C程序的资源 虽然我熟悉C语言的语法,也能编写小程序,但我不确定大型应用程序采用什么方法,以及采用什么技术。任何你们能推荐的 编辑:为了用C语言编程,我很高兴完全放弃OO,我的兴趣是学习如何在没有OO的情况下构造程序,我想学习用过程语言(如C)设计程序的好方法。这里有一些关于C中OO编程的不同问题。我发表了一篇关于我使用过的一些C代码的帖子,这些代码基本上推动了面向对象,不包括虚拟方法 如果我在做C编码,我会使用这种技术来定义“对象” 我
这里有一个很好的PDF讨论。tanenbaum的minix有一个UNIX书籍列表,其中包括大多数经典的C/UNIX作品。对于Windows上的C编程,Petzold可能是最好的开始 对于C程序设计,一些UNIX编程书籍会告诉您代码片段,但我不知道有什么“C程序体系结构”书籍 如果您习惯于java,C编程的一些技巧如下:
setup\u foo(&my\u foo)
的函数来看到这一点。最好将分配与初始化分开,因为您可以使用此函数初始化已在堆栈上分配的项。类似的原理也适用于析构函数David Hanson的“C接口和实现”中提到了我对从OO回到C的担忧
说真的,它的方法在避免意外地构建许多非oo系统最终成为的大问题方面起到了巨大的作用。虽然它是作为某种语言不可知的文本编写的,但在代码结构和组织以及构建实践方面提供了很多很好的指导。更大的应用程序?C的优势在于当您必须处理诸如设备驱动程序、调度器和o之类的低级事务时