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