Erstellen Sie ein Problem mit MSVS 2010 und dem C ++ - Standard

Ich versuche, mit msvs 2010 das Projekt zu erstellen, das sich auf der folgenden Seite befindet:

https://github.com/Joonhwan/exprtk

Wenn ich die Zeile 48 '#define exprtk_lean_and_mean' in der Datei exprtk.hpp auskommentiere, wird der folgende Compilerfehler angezeigt:

<code>Error   1   error C1128: number of sections exceeded object file format limit : compile with /bigobj
</code>

Wenn Sie den Fehler googeln, scheint dies darauf hinzudeuten, dass die kompilierte Übersetzungseinheit bis zu einem Wert kompiliert wurde, der über einem Arbitariy-Limit liegt, und durch Hinzufügen von 'bigobj' zur Befehlszeile sollte das Problem behoben werden (was auch der Fall ist). Das Kompilieren des Codes mit gcc (4.3) funktioniert problemlos.

Meine Fragen sind:

Beschränkt c ++ die Anzahl der Typen, die in einer Übersetzungseinheit enthalten sein können?

Ist die Art und Weise, wie der Code in diesem Projekt angeordnet ist, eine schlechte Praxis? (Beim googeln ist mir aufgefallen, dass viele Boost-Bibliotheken das gleiche Problem haben, zB: Boost.Sprit)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage