Конференция "FreePascal" » LARGE_ADDRESS_AWARE + Lazarus, как? [Win32]
 
  • Sir Alex © (22.01.08 13:08) [0]
    Как заставить Lazarus компилить проект с ключом линкера --large-address-aware? Судя по документации, надо в опциях компиляции (закладка Linker) указать дополнительный параметр (-k) --large-address-aware... но хоть ты тресни, не хочет работать.
    После некоторых попыток, Lazarus'ом был создан батник ppas.bat - который умел линковать мою программу. Так вот, если я там напрямую указывал нужный параметр линковщику (ld.exe) то программа линковалась с этим параметром (т.е. это означает, что LD.exe правильно отрабатывает ключ --large-address-aware, и видимо это означает, что Lazarus тупо не передает его компоновщику при комплиции проекта из IDE)

    P.S. В принципе, у EXE можно установить параметр LARGEADDRESSAWARE с помощью утилиты от EditBin в составе MS Visual Studio 9... но блин неохота ставить студию ради этой тулзы...
  • Sir Alex © (22.01.08 16:29) [1]
    ммм... в общем, пока обошел эту проблему очень просто. Случайно наткнулся на маленькую тулзу, которая меняет заголовок у EXE'шника.
    http://ntcore.com/4gb_patch.php

    Дальше, в свойствах компиляции, на последней закладке, прописываем секцию "Execute after" и все :)

    P.S. Если возник вопрос, для чего это нужно, то отвечу. Без LARGEADDRESSAWARE приложение не может выделить больше 2Гб виртуальной памяти, буть то 32 или 64 битное.
 
Конференция "FreePascal" » LARGE_ADDRESS_AWARE + Lazarus, как? [Win32]
Есть новые Нет новых   [134427   +38][b:0][p:0]