docs/dev/parrot_api.pod - Notes on the PARROT_EXPORT macro
This document addresses the correct use of the
Some compilers and platforms export all symbols either by default or through a switch. Others have no such mechanism and either need a list of symbols to export or need the symbols annotating in the source.
PARROT_EXPORT macro exists for the purpose of annotating symbols that should be exported.
it may be used to express which functions are in the Parrot extension API and which are not.
For now it should be used to mark anything that will be used by a shared library or by the main Parrot executable when Parrot is built as a shared library.
Incorrect usage of
PARROT_EXPORT can break the build on some platforms,
The rules for how to use it are as follows.
PARROT_EXPORTmust appear first in the list.
PARROT_EXPORTin a .c file, you must also decorate the symbol with
PARROT_EXPORTin all .h files that mention it.
PARROT_EXPORTor none of them should. Some with and some without won't work.