Did you know ... | Search Documentation: |
obfuscate.pl -- Code obfuscating |
This module provides an implementation for obfuscate_identifiers/1, a hook into library(qsave) that allows mapping atoms to other atoms while creating a saved state.
This library is used by qsave_program/2 and the -c
option. The
following is good way to create a binary version of your code that runs
on a machine with the same version of SWI-Prolog installed.
swipl -o myprog -O --autoload=false --obfuscate=true -c load.pl
This implementation is overly conservative: atoms are only renamed if
they are used once. This is verified by checking the atom reference
count. If this is 1
, the atom is only used in the functor that
defines the predicate.