I'm trying to learn more about the underlying library design of JUCE (because it is awesome as we all know). What exactly do these macros do?
1 Like
Uncover the mystery by looking at the definitions: they contain a bit of documentation. :)
https://github.com/julianstorer/JUCE/blob/master/modules/juce_core/system/juce_PlatformDefs.h#L47
https://github.com/julianstorer/JUCE/blob/master/modules/juce_core/system/juce_StandardHeader.h#L119
Short version: Argument passing conventions and DLL export visibility.
Ooops got it now. Was being a bit of a moron using XCode's "Jump to definition" feature which dumped me out at a place where nothing much was going on . . .
#ifndef JUCE_API
#define JUCE_API /**< This macro is added to all juce public class declarations. */
#endif
If I had of scrolled up a few lines, I would have answered my own questions. DoH!