If you need to make prebuilt routines available to others but want to keep the source code from which they are built confidential, there is an MPLAB® XC8 compiler option that can help.
The compiler’s intermediate (p-code) files and LPP libraries (which are based on p-code files) are text files, and their content can be easily examined. Although the information in these files is in a different form from that of the original C source, the source code could be gleaned from these files with a bit of effort.
The compiler’s --SHROUD option will protect the original source code used to build intermediate or library files by removing or obfuscating C comments, line numbers, and variable names. This option does not affect the execution of the final code which uses the shrouded routines; however, source-level debugging of those routines will not be possible.
If you are using this option in MPLAB X IDE, enter it as an Additional option in the XC8 Compiler category. Specific information on building libraries using MPLAB XC8 can be found in this article.