-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sc_puff should not be exported #153
Comments
Thanks for your comment! I'm referring to the latest develop branch, where puff.h is removed. We are already taking care that sc_puff is the only symbol exported, so the namespace is clean. |
Exported symbols should be kept at minimum. For most users it is just dead code, increasing the size of the binary - code section and symbol table. |
Thanks again; there are two angles to this issue, as far as I can see.
(There may be an in-between in that with zlib found, sc_puff itself may call zlib's uncompress function. I might go there but I also might not.) So I'm willing to discuss any hard reasons that preclude sc_puff being standard. I'm not willing to discuss 1. vs. 2., if that's ok, since this is ultimately a matter of opinion and taste. Thanks again for watching out and bringing up your concern! |
Actually I'm playing with the feature-puff branch to test further suggestions of yours. |
Hmm. With this change, sc_puff is an external symbol, which is compiled and supplied with a prototype only when zlib is not found. This makes the set of exported symbols dependent on the configuration, which may not be the best for consistency. Still leaning towards unconditionally compiling sc_puff. The question remains whether the prototype should be visible in installed .h files or not. |
Currently, the
sc_puff
symbol is exported, even when it is completely unused (i.e. when using zlib).sc_builtin/puff.h
header file should be removed from the sources (completely unused)sc_puff.h
header file should not be installed, and probably moved to the sc_builtin directoryThe text was updated successfully, but these errors were encountered: