我的程序(文本模式Web浏览器)动态分配内存.
当然,我在运行时释放不需要的块.并且我在正常终止之前释放所有内容 - 因此内存泄漏检查器不会给我误报(并且如果需要进行重大重构则要灵活).
现在,我也不会做的是异常终止之前释放内存.(目前,我的程序在信号和mallocs/reallocs失败后终止.)
我的问题是:你认为这种不好的风格吗?我应该免费异常终止吗?
我有一个函数,它将一个指针作为参数重新分配给一个新的大小.现在,问题在于 - 根据手册页 - realloc需要一个已经malloc或calloc之前返回的指针.
如何确保调用者传递满足这些要求的指针?似乎没有内置的C机制(比如类型限定符或其他东西)这样做.
现在,在我重构我的API之前(因为我认为这个功能现在不够强大) - 你能否证实我没有错过任何东西?
提前致谢.
编辑: 一个解决方案显然是函数中的malloc .问题在于调用者没有"看到"分配.因此,我需要明确地在文档中说他必须释放指针.这甚至比期望他们提供malloc指针(这意味着调用者必须释放它)更糟糕.
我真正想要的是在编译时阻止滥用的东西.那,还有一匹小马.;-)
我的Zend Framework项目分为几个模块.每个模块都有一些特定的控制器插件.
现在,问题是所有插件都被加载和注册(因此被调用) - 无论用户尝试访问哪个模块.
我可以测试我们在哪个模块中并直接在插件中停止执行,但我必须在每个插件中执行此操作...
是否有一种优雅的方式来只注册特定于模块的插件?或者我在这里试图解决错误的问题?