--- title: "How can I reduce my code footprint?" source_url: https://dev.digicert.com/trustcore-sdk/nanossl/faqs/how-can-i-reduce-my-code-footprint.html --- **Question:** How can I reduce the size of my compiled code? **Answer:** Here are some suggestions: - Turn on compiler size optimization (for VS: "`/O1`", for gcc: "`-Os`"). - Disable all debug flags: SoTP platform debug and compiler debug (for gcc, remove "`-g`"). - Define `__ENABLE_MOCANA_SMALL_CODE_FOOTPRINT__`. - This will trade off some speed for a smaller size. - Disable unused ciphers such as 3DES or AES. AES may take about 10 KB because of lookup tables. - If supported by the compiler, use the option to link only with symbols that are being used. - Strip symbols from the generated binary. - Turn on the assembly language optimizations for the architecture, `__ASM_*__`. - For more information, refer to the "Footprint Reduction" and "Disable Certificate Parsing and Key Generation" sections of *Building TrustCore SDK Components*.