Concealing Source When Distributing Code

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 the "Building XC8 Libraries" article.

© 2024 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.