Windows utilizes explicit symbols decoration for exporting API targets, whereas Unix systems export all symbols by default unless configured with -fvisibility=hidden . The update relies on a robust macros header file to unify this behavior:
The update adds native integration with Windows . You can now annotate your cross-platform CMakeLists.txt with version ranges: xplatcppwindowsdll updated
| Metric | v2.1.4 | v3.0.0 | Improvement | |----------------------------|----------|----------|-------------| | DLL file size (Release x64)| 2.4 MB | 2.1 MB | -12.5% | | Load time (cold start) | 87 ms | 62 ms | -28.7% | | Export table entry count | 210 | 312 | +48% (auto extern)| | Build time (full from scratch) | 3m 22s | 2m 51s | -15% (parallel DEF gen) | An update that replaces the DLL in memory
A DLL can hold static or global state. An update that replaces the DLL in memory (via unloading and reloading) must decide whether to preserve or reset that state. For example, a logging DLL might lose its file handle if reloaded. xplatcppwindowsdll updated