RE:Compilar más de 3800 lineas
Hay algo que debes tomar en cuenta. Supongamos que tienes dos archivos:
// clase.h
class clase { };
// clase.cpp
#include "clase.h"
Estamos de acuerdo que el compilador compilará dos líneas de código del archivo cpp, ¿verdad? En efecto, lo que hace el #include es "copiar" lo que está en el archivo .h y meterlo en el .cpp. Así, si yo creo un tercer archivo y hago el #include del header, se compilará la misma línea de nuevo.
Esto lo comento por lo siguiente. Pudiera ser que si tienes demasiados #includes (del API, del framework, de la librería estándar de C, etc) no estés compilando en realidad las 3800 líneas de código, sino más.
Además, hay casos donde el compilador trabaja de forma "rara". Por ejemplo, considera el siguiente código:
template<class T> class C
{
public: T suma(T t1, T t2) { return t1 + t2; }
}
Supongamos ahora que en otra parte del código hacemos lo siguiente:
C<int> i;
C<float> f;
Te genenerará dos versiones: una reemplazando T por int y la otra reemplazando T por float. Aquí se estará compilando más de las líneas que tienes.
Sin embargo 3800 líneas es muy poco. Platicando con compañeros, me comentan que han compilado programas de hasta 160,000 líneas. Quizás lo mejor sea que revises la documentación del compilador.
Si encuentro algo más, te aviso. Saludos.