|Comments on Thursday 25 March 2004:|
|Again, ignore this post if you're not a programmer.|
The answer to yesterday's programmer conundrum. First step to discovery - changing library from openssl to libtomcrypt. Results at at that point - the same thing still happens, but to a much lesser degree. Other results at that point - libtomcrypt is much less annoying to use, but not as well documented.
Second step to discovery - inspiration and experimentation. The inspiration - the thought that perhaps the linker doesn't do function dependencies at the library level, but rather only object-file dependencies. The experiment - splitting the source file from which the unnecessary library code is called, so that no functions which are called remain in the same file as the functions which call the library, when cryptography isn't intended to be in use.
The result - the linker does indeed only do dependencies at the object file level.
The lesson - when writing library code, write only one function per object file (except in situations where a set of functions are so heavily interlinked that one is never used without the other).
We now return you to your irregularly scheduled non-programming RavenBlog contents. [10:11]