Re[2]: Линковка файлов больше 2 гб
От: Nia  
Дата: 11.05.06 17:34
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Nia, Вы писали:


А>Ni a>Проблема в следующем.


Nia>>Используем GCC 3.3.6. + стандартный makе.

Nia>>Однако на данный момент продукт разросся настолько, что размер executable (в debug режиме) превышает 2 гб и ld просто отказывается линковать (линковка статическая).
Nia>>Пожалуйста, если кто сталкивался с такой проблемой, расскажите как
Nia>>вы ее решили.

Nia>>Спасибо


А>Чтобы сделать исполняемый файл больше 2ГБ надо иметь талант!

А>Вы наверное STL используете?
А>Ну, один путь Вам сказали — дебажную версию только той библиотеки, которую в данный момент отлаживаете.
А>А еще можно сделать так:

А>/********************************************/

А>// файл одна_из_подсистем.cpp
А>/********************************************/
А># include <file1.cpp>
А># include <file2.cpp>
А># include <file3.cpp>
А># include <file4.cpp>
А># include <file5.cpp>

А>Обьем и время компиляции упадет в 5 раз. Засчет чего? За счет шаблонов и заголовочный файлов.

А>А вообще-то надо руки выпрямлять. Это-ж надо — 2 гигабайта!!!


Спасибо, обЪем 2 гб получается за счет OA (open access), которая спроектирована по принципу "используй этот header и получишь что тебе надо"

Спасибо за предоствленные варианты К сожалению пока ни одно решение не заработало.

Может попробовтаь линковать бинарник не из библиотек подсистемы, а сразу из object файлов, из которых состоят эти библиотеки?
Есть ли разница между этими методами линка?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.