Sorry, but this is a very specific Boost question as we are using the Boost memory mapping system. So, if I understand correctly, you are saying that Boost does / cannot garantee compatibility between OS and cpu architecture ? This would mean that Boost leverages heavily the underlying OS services where available. Having said that, other than doing a "memory dump", is it possible to get Boost to serialise the data out to disk ? On 23/01/2019 02:33, Niall Douglas via Boost-users wrote:
We are developing a system which heavily uses memory mapped files. These files are initially created under a unix system, but will then be used in portable systems such as Android and iOS. We are having some problems loading memory mapped files created under Unix into Android.
Is this scenario even possible ? Are the memory mapped files compatible between systems ? This kind of question has nothing to do with Boost, and would be better asked on Stackoverflow.
However yes Android supports memory mapped files just fine. Free address space is very limited though, so what works on 64 bit workstations may not work on 32 bit Android. Also, Intel CPUs are not ARM CPUs, padding of structs will be different, floating point numbers may have a different representation or be interpreted a bit differently, there are a few other differences.
With discipline memory mapped files usable on both architectures can be devised, but usually with a performance penalty on all platforms. In the end there is no free lunch.
Niall _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org https://lists.boost.org/mailman/listinfo.cgi/boost-users