This function creates and initializes a new compile context. If its argument is
NULL, malloc() is used to get the necessary memory; otherwise the memory
allocation function within the general context is used. The result is NULL if
the memory could not be obtained.
There is a complete description of the PCRE2 native API in the
page and a description of the POSIX API in the