Se trata de agrupar los módulos fuente de la biblioteca en un proyecto de tipo librería, es decir que cuando lo compilás se genera un LIB y no un EXE. Ningún módulo debe tener main().
La forma de hacerlo puede variar entre distintas versiones del lenguaje.
G
con DllMain no creas un .exe, creas una dll y un archivo .lib que si no tengo mal entendido es tambien llamado biblioteca. yo tengo una dll creada de esta forma y funciona estupendamente. de todas formas buscad la informacion en la MSDN (hecha con Visual C++ 6.0)