From: Mateusz C. <cza...@gm...> - 2009-09-19 20:42:26
|
Hello! I'm looking for a full-text search engine, and recently got interested in CLucene. However, I'm having some troubles with it, apparently mainly with the memory management. For starters, I've downloaded the "stable" 0.9.21 package, but trying to run the "cl_demo" (I'm using MS VC++ 2008 Express, compiling the default solution files provided, auto-converted to 2008 format) results in some memory leaks reported thanks to the "_CrtSetDbgFlag()" call. Now, that makes me feel uneasy: shouldn't the demo app be running perfectly clean? is this a problem with the app, with the library, with VC++, with some compiler flags, or what? A bigger problem for me is that I'm overally pretty confused on how to allocate objects when using CLucene. The demo app again seems pretty inconsistent: it mostly uses the _CLNEW macro, but sometimes normal local objects (e.g. when instantiating the StandardAnalyzer). Which approaches can I use, or should I use, and why? And what about the regular "new" operator? Now, I thought I should be pretty safe with a simple "all objects auto/local" policy, which I believe to be default for C++; but I've tried to reduce the demo app to some simpler one using that policy and it still reports errors on runtime. Furthermore, the demo ends in a couple of functions like "_lucene_shutdown()" and "__cl_ClearMemory()" - are they mandatory, and both of them? And if so, then I believe that's quite confusing for them to start with an underscore. Finally, having looked over several posts in this mailing list, I have an impression that the main work is now on the "2.3.2" branch, and that it is meant to be soon released oficially to the public. Is that so? Should I abandon the "stable public 0.9.21" branch and change to the new one, and can I expect it to be easier and more stable/less surprising? I'd be grateful for any help, also for pointing it out if I'm simply doing something wrong. Thanks in advance Mateusz Czapliński |