New Video about Dynamic Loading
Video: https://youtu.be/VO6gMLtQOKM
Code: https://github.com/simonracz/dynamic-loading
This is mostly for C and C++ devs, although I briefly mention other languages as well.
It's about the dlopen(), dlsym().. APIs and their many use cases.
#linux #C #C++ #dlopen #linker #dynamic #loading #java #android #live #streaming
#linux #c #dlopen #linker #dynamic #loading #Java #android #live #streaming
I am trying to figure out why can one update a .dylib file to a #symlink of a locally built file in a #MacOS #App and there is no error related to #signature check on #Apple #MacOS while running..
In this case the culprit #application is #Thunderbird and most probably is doing #dlopen of that changed dylib.
I thought #GateKeeper will stop this. #security #verification
#symlink #macos #app #signature #apple #application #thunderbird #dlopen #gatekeeper #security #verification
The difference is due to the behavior of #dlopen when given a null pointer for the first argument.
Linux: "If filename is NULL, then the returned handle is for the main program."
I've been looking at the behavior of #dlopen on #Linux and #macOS in relation to `ctypes.pythonapi._handle`.
On Linux, this returns a specific handle to look up symbols in the Python executable via `dlsym` even when statically linked to libpython.
On macOS, this returns RTLD_DEFAULT, which can be a bit slow since this searches all mach-o images.