|
From: Luigi B. <lui...@gm...> - 2008-05-16 15:31:52
|
On Mon, 2008-05-05 at 21:09 +0200, Frank Hövermann wrote: > I think this is a matter of unproper garbage collection or something similar > but I need some guru advice: A properly coded function (in C++, some double* > serve as input, and a .txt or .csv file is the output but the function call > is like "void func_name(double *input, char *path)" so nothing is actually > returned) which does some calculations using some QuantLib objects somehow > changes its behaviour under /clr compiler option. This I need to be able to > use it via SWIG under C#. Calculations are done as supposed to, but upon C# > program termination an "unknown software exception" (0xc0020001) at > 0x7c81eb33 pops up. I googled a bit and indications point to a too quick > (unmanaged) object disposal where the program terminates before the C++ > object does. Does this sound familiar to one of you? Are there any hints to > prevent this? Hi Frank, unfortunately, I'm not an expert at all in managed C++/C#---my only exposure to C# has been to compile the SWIG wrappers before release to check that they work... Did you try asking on the SWIG mailing list? It doesn't seem a SWIG problem (since all you're exporting is a function taking some basic types---no class instances are passing through the wrapping layer) but there might be people there with more expertise. Luigi -- Dealing with failure is easy: work hard to improve. Success is also easy to handle: you've solved the wrong problem. Work hard to improve. -- Alan Perlis |