相关疑难解决方法(0)

如何有效地构建C程序

首先我要说的是,我在C和C++方面都有相当多的经验.但是,我正在用C开始一个新项目,我一直在使用面向对象的语言这么长时间(C#和C++),我无法想出一种有效的方法来将功能封装在一个过程语言中.我的第一个想法是简单地依靠我的OO知识并构造它:

struct Foo 
{
    int x;
    char *y;
}; 

struct Foo *new_Foo()
{
    return (struct Foo *)malloc(sizeof(struct Foo));
} 

void Foo_member_function(struct Foo *foo, int z)
{
    foo->x = z;    
}
Run Code Online (Sandbox Code Playgroud)

但这似乎很乏味,与C的精神相反.更不用说它是一个穷人的OO.

这个程序最终会变得相当大,所以从一个好的设计组织开始是至关重要的.我想,随着C语言的多年发展,某些设计模式已经发展到如何最好地构建代码以实现可维护性.与函数式编程非常相似,我希望过程式编程具有干净且可读性的范例.

指向相关文章和书籍的指针也是可以接受的.

c

29
推荐指数
2
解决办法
9829
查看次数

在面向对象的土地上挣扎?

当我遇到编程问题时,我自然会开始将它们分解为我脑子里的逻辑对象.谁有责任,谁拥有什么,谁来自什么,等等.

我正在与C斗争.我只是不知道如何用程序语言做事.

有经验的C程序员可以帮助解释我在设计时如何考虑我的程序吗?

例如,我想编写自己的Semaphore类.我自然需要一个队列的数据结构,我也想自己编写.如果我需要在Java或C#中执行此操作,我可以简单地编写一个快速的Queue类,并在我的Semaphore类中创建它的新实例.

但在C中,没有对象.那么我是否必须内联我的Queue数据结构的所有行为?

有人可以帮我"搞定"吗?

相关:在c中规划和组织应用程序开发的最佳方法是什么

c procedural-programming

19
推荐指数
3
解决办法
2962
查看次数

关于在C中组织代码文件的最佳文章

您能否推荐我应该阅读/学习什么才能在C中制作组织良好的代码?

我想要学习的一件事是在.h和.c文件中拆分项目的原则,在哪里和为什么,变量命名,何时使用全局变量...

我对处理这个特定问题的书籍和文章很感兴趣.

c code-organization

15
推荐指数
2
解决办法
1万
查看次数

C是面向对象的程序员

学习了Java和C++后,我学会了OO方式.我想开始一个相当雄心勃勃的项目,但我想用C语言做.我知道如何将问题分解为类以及如何将它们转换为类层次结构.我知道如何将功能抽象为抽象类和接口.我甚至有点精通以有效的方式使用多态.

问题在于,当我遇到问题时,我只知道如何做到这一点是以面向对象的方式.我变得过于依赖面向对象的设计理念和方法.

我想学习如何以严格的程序方式思考.如何在缺少类,接口,多态,函数重载,构造函数等的世界中做事情.

如何仅使用非面向对象的structs 表示复杂概念?你如何避免缺乏函数重载?以程序方式思考的一些提示和技巧是什么?

c oop

9
推荐指数
1
解决办法
791
查看次数

在C中规划和组织应用程序开发的最佳方法是什么?

我只需要在C中编码几次,而且每次我都这样做,它就变成了一些无法管理的野兽.

我已经在C#和.Net中完成了大部分的编程,因此我非常习惯于类风格的体系结构,但我似乎无法掌握C语言应用程序中的组织.我应该把函数定义放在一个文件中,将函数定义放在一个文件中,然后在另一个文件中处理,等等.这个主题有没有什么好的资源?

另请参阅:从面向对象的土地中挣扎?

c

3
推荐指数
1
解决办法
1149
查看次数