Приветствую сообщество!
Не придумал ничего более умного для названия темы, чем перечислить относящиеся к моим вопросам слова. (((
Предистория.
Долго работал с Delphi (7/2006/Turbo/2009), было разработано и реализовано несколько проектов которые работают и ими пользуются сотрудники нашей компании.
Недавно узнал о проекте Lazarus и очень им заинтересовался. Решил полностью переселиться на Lazarus так как вижу преимущества Lazarus перед Delphi, IDE немного уступает по удобству, но в остальном одни плюсы ИМХО. Так как система похожая с Delphi заинтересовал тот же вопрос, что и интересовал программируя на Delphi - размер исполнимого файла. Посмотрев, по изучав и опробовава Lazarus, почитав несколько форумов, где затрагиваются вопросы размера исполнимого файла, узнал про директиву компилятора SMARTLINK, также почитав про нее в постах на форуме, результат работы дерективы виден лишь в том случае если модули подключаемые к программе были собраны с этой директивой.
Вопрос первый: Как узнать был ли собран модуль с директивой SMARTLINK, и если он собран не используя директиву как собрать его с ней?
До разбора вопроса размера исполнимого файла, уже было собрался создать проект который бы анализировал бы исходник и создавал к нему модули только с теми переменными и классами и методами в классах, которые необходимы для проекта. Если директива SMARTLINK не то что я думаю, то этот проект начну реализовывать..
На следующий вопрос уже дали удовлетворительный ответ в сообщении от v-t-l и утвердили в сообщении от Mr.Smart
Вопрос второй: В нескольких постах советовали смотреть ключи компилятора fpc.cfg, посмотрев увидел следующее:
# For a release compile with optimizes and strip debuginfo
#IFDEF RELEASE
-O2
-Xs
#WRITE Compiling Release Version
#ENDIF
# For a debug version compile with debuginfo and all codegeneration checks on
#IFDEF DEBUG
-glh
-Crtoi
#WRITE Compiling Debug Version
#ENDIF
Вопрос, где в Lazarus включить режим компиляции Release? если такой есть то извините, ткните носом.
Третий вопос про FPC не созрел... будет позже.