Structure of .exes

A few days ago I decided to embark upon an ambitious project, one that I had strong doubts I could ever make work: my own programming language.

I’ve made strong progress on lexical analysis, and division of the code into usable chunks.

Even if I get the lexical analysis to work perfectly, I doubt I’ll know enough assembly to allow my programming language to translate into machine code.

So here is my question: how are .exes structured? Any articles or documentation?

Also, I’ve just started on the function parsing, and I’m thinking I want to treat functions as a sort of a preprocessor directive. In C/C++, are functions a language construct?