Live++ compared with Edit & Continue

This table was partly built based on Edit & Continue's behaviour documented here.

General support Edit & Continue Live++ Remarks
Other IDEs Live++ is IDE-agnostic and does not need Visual Studio.
Other editors and external tools Live++ does not need a debugger to apply code changes.
Multiple processes Live++ fully supports multi-process editing.
Externally launched applications Live++ works with any application as long as the Live++ DLL is loaded by this application or any of its modules. It does not require applications to be launched from Visual Studio.
Supported code changes Edit & Continue Live++ Remarks
Adding new global or static data Live++ supports this and calls constructors/dynamic initializers accordingly.
Changing global or static data Live++ supports this for all global and static data.
Changing code in static libraries Live++ supports any mix of DLLs and static libraries and is project-setup agnostic.
Unlimited number of changes Live++ is only limited by the address space that is available in your application.
Compiler and linker options Edit & Continue Live++ Remarks
Optimized builds Live++ supports optimizations, inlining, etc. and even works for data symbols not emitted into the PDB.
Multiple PDB formats Live++ does not need "Program Database for Edit And Continue (/ZI)" to be set, and therefore supports distributed build systems that need to use /Z7 (debug information embedded into the object files).
Linking against the static runtime library (/MT and /MTd) Live++ supports linking against the static and the dynamic run-time libraries.
Control-flow guard (/guard:cf), /ORDER, function-level linking (/Gy) Live++ fully supports any combination of these compiler and linker options, while Edit & Continue needs function-level linking to be set and does not support the other options.
Needs incremental linking (/INCREMENTAL) Live++ does not need incremental linking but uses hot-patching instead. Live++ can also make use of incremental linking thunks should they be available.
Needs hot-patching (/hotpatch) and /FUNCTIONPADMIN Live++ needs these compiler and linker options to be set in order to work 100% reliable.