On Sun, Jun 26, 2011 at 7:42 PM, Matthew Mondor <email@example.com> wrote:
Is this to be able to have a large amount of static read-only data
available at runtime? If so, perhaps that another solution would be to
produce object files out of binary files at build-time and link those
object files along with the program?
Unfortunately the problem only arises with Microsoft's compiler, which sets a limit in compiled constants that is very small (65k). This forbids us from trying tricks that might be available for other formats (elf, etc), but which would also not be portable at all.
The thing is that right now the process of adding binary data works! ECL adds it to object files, statically and dynamically linked libraries and programs, but it has a problem: it only knows where to find it when the code is explicitly loaded (LOAD). I am afraid the situation is going to be as follows
- For users that only rely on FASL files, life is easy, no need to do anything (even if using monolithic fasl files and ECL's extensions)
- If the user is going to create statically linked programs, DLLs and other extensions based on ECL we might need to extend cl_boot() to provide the actual location of the executable / library. This interface is yet to be defined.
Overall it does not look that bad: only those with special needs are required to do complicated things.
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)