I'm confused about the following words:

__declspec(dllexport) / __declspec(dllimport)

extern "C"

__stdcall


I only realized that extern "C" preceding a function create a decoration-free symbol in the export table (assuming this is correct)

Can you explain me what purposes are these conventions for?