I don't know where to post this...

What's the difference between programming for DOS and Linux,
and any other OS with C/C++?

I mean, how does the actual process change? In my C/C++ books,
it hardly mentions anything about the OS...

Is it just the compiler you need in order to write a program for
a different OS? I'm assuming there's still a main() function in both
DOS and Linux programs. That's part of the language, right? That
doesn't change (but it changes to WinMain when programming
Windows...?)

Is it just the Libraries that change (which I'm assuming would
come with a different compiler, if there is one)...?

I've never used Linux, and I really haven't started the WinAPI
yet. Still doing DOS/DJGPP stuff... Just curious, though.