
On Thu, Nov 12, 2009 at 2:55 AM, elizabeta petreska < elizabeta.petreska@gmail.com> wrote:
Hello everybody This is my first post to the list. Can I serialize C++ function pointer ? I search around and found that it could not be done ( although I am not sure ). If it can not be done, whats the explanation about it ? Thanks
The location of a function pointer in the address space could change depending on a number of factors: - The binary being recompiled - Any function pointers to functions in shared libraries could be invalidated - On some obscure platforms, this could still fail, even with the same binary that doesn't load any shared libraries So, it could possibly work, but I would highly recommend that you don't do this. Other options: - Wrap your functions in classes, and use the standard serialization methods for class objects. - Have a function in your binary that registers all of the function pointers (a std::map would suffice) that you care about at startup, perhaps indexed by a string. Then, serialize the names of the functions that you want to save. Can you describe your use case in more detail? Jeremy