40 likes | 267 Views
ObjectSpace C++<ToolKit> issues. How to combine together: ObjectSpace C++ <ToolKit> Objectivity Persistent STL Compiler native STD Solution: Compile ObjectSpace C++ <ToolKit> with native STD OS_USE_ALTERNATE_STD flag Make independent Persistent STL package change flag names
E N D
ObjectSpace C++<ToolKit> issues • How to combine together: • ObjectSpace C++ <ToolKit> • Objectivity Persistent STL • Compiler native STD • Solution: • Compile ObjectSpace C++ <ToolKit> with native STD OS_USE_ALTERNATE_STD flag • Make independent Persistent STL package • change flag names • change symbol names
Changing PSTL symbol names • Namespace • easy to implement • ooddlx produces code that does not compile: • class namespace::classname; • Alternative names • lots of code modifications • works • all global symbol names start with ‘os_’ prefix • class names • function names
PSTL Placement • In Objectivity directory? -I${OBJY_DIR} #include <pstl/vector> #include <pstl/d_vector>
Using ObjectSpace C++<ToolKit> • Including transient STD vector class header #include <ospace/std/vector> • Including persistent d_vector class header #include <ospace/stl/d_vector.h> • Compiler flags -I${OBJY_DIR}/ToolKit -I${TOOLKIT} • Do not use #include <vector> -I${TOOLKIT}/ospace/std