-
Notifications
You must be signed in to change notification settings - Fork 18
Note on the STL
Raikkonen edited this page Oct 27, 2021
·
1 revision
Freelancer was built using Visual C++ 6.0 libraries. A few functions in Freelancer's API use STL classes (e.g. std::string, std::vector, etc.). Unfortunately, binary compatibility between VC6 and modern compilers was not preserved, and as a result interoperability is not possible.
In order to circumvent this issue, FLHook (as of version 2.1) includes a minimal reimplementation of the VC6 STL called st6. Affected API functions have had their signatures modified to invoke st6 instead of std. Most std features should "just work" on st6 classes, though explicit conversion is required to switch between libraries (e.g transforming a st6::map into a std::map or vice-versa requires rebuilding the map).