4 ms·
Note that if a plugin and the main program have any packages in common, the build-hash (Go binaries include a hash for each included package) must be identical
by LukeShu 5y ago
Note that if a plugin and the main program have any packages in common, the build-hash (Go binaries include a hash for each included package) must be identical between the program and the plugin. If the hashes don't match, then the program's `plugin.Open(…)` call will return an error.
So if there is a package in common such that an implementation change could cause something like a cgshape change, well the cgshape change won't matter since any implementation change will change the package's build-hash. And so everything will need recompiled anyway, regardless of whether the cgshape changed or not.
- Groxx 5y agoInteresting I hadn't caught that requirement before. It both kinda makes sense and kinda doesn't... and sadly throws some cold water on a few "it'd be fun to try to do X" ideas I've had floating around in my head. I suppose there's always RPC-like options.
- EE84M3i 5y agoDoes this even include the standard library?
- LukeShu 5y agoYes, it does include the standard library.