[petsc-dev] Dev Manual Blurb on PETSC_INTERN and PETSC_EXTERN ?

Patrick Sanan patrick.sanan at gmail.com
Fri May 20 03:50:44 CDT 2016


A short blurb in the dev manual re PETSC_EXTERN and PETSC_INTERN might
be helpful for contributors. There have been some changes recently and
some of the older advice on petsc-dev is stale (there is discussion of
deprecated things like PETSC_INTERN_C, notes from when PETSc compiled
into several separate shared libraries, etc.).

My current understanding is something like the folllowing.

    PETSC_EXTERN : for symbols which should be visible to other shared
libraries, *including plugins* .

    PETSC_INTERN : for symbols which need to be visible across
compilation units, but only within the PETSc shared library.

    In both cases, the names are demangled if C++ is involved.

If that's right, I can make a patch to add it to the manual (at the
end of Section 2.2, say).



More information about the petsc-dev mailing list