I have some macros like, #define dosomething(x) something(x)
and it is compiled into a dll. Will I have that macro in that lib created by the build?
No.
Macros aren't even visible to the compiler. They get replaced by their substitution text during preprocessing, which happens at the very beginning. Macros are dumb, they know nothing about you or your motives. They don't even know what language you're writing. Beware!