In a DLL I have a function that returns a TBinaryOperations*, where TBinaryOperations is a type whose full name (after template expansion, it is a map
[Error: Irreparable invalid markup ('<string,vector<pair<pair<ctypeinfo,ctypeinfo>') in entry. Owner must fix manually. Raw contents below.]
In a DLL I have a function that returns a TBinaryOperations*, where TBinaryOperations is a type whose full name (after template expansion, it is a map<string,vector<pair<pair<CTypeInfo,CTypeInfo>,CConstant *(const CConstant*,const CConstant*)> > >, you can imagine into what it turns after preprocessing ) is not less than a few kilobytes.
I also have an other function with more decent return value, just vector<CTypeInfo*>. Both functions have no parameters.
So, I successfully compile this DLL and then dynamically link it to a program and do GetProcAddress() for these 2 functions. The second function is run without any problems but the 2nd one crashes either itself (if I have luck) or Visual Studio(in the other case) on exit (on the '}' symbol of the function when I run the program step-by-step). Both functions do only one operation: return addresses of two variables in the DLL.
Can this problem be caused by such a long function name? If yes, what can I do; if no, what can I do? :)
I also have an other function with more decent return value, just vector<CTypeInfo*>. Both functions have no parameters.
So, I successfully compile this DLL and then dynamically link it to a program and do GetProcAddress() for these 2 functions. The second function is run without any problems but the 2nd one crashes either itself (if I have luck) or Visual Studio(in the other case) on exit (on the '}' symbol of the function when I run the program step-by-step). Both functions do only one operation: return addresses of two variables in the DLL.
Can this problem be caused by such a long function name? If yes, what can I do; if no, what can I do? :)
