Друзья! Я поискал в пакете masm в опциях линковщика и нашёл такую штуку: LINK Options usage: LINK [options] [files] [@commandfile] ... /RELEASE /SECTION:name,[E][R][W][D][K][L][P][X] /STACK:reserve[,commit] Ну вот, потом в опциях линковщика я так прописываю: /SECTION:name /SUBSYSTEM:WINDOWS *.obj rsrc.obj Бесполезно, я так понимаю, что должна создасться секция с именем name, но не создаётся. Помогите пожалуйста!
amvoz В скобках указываются опциональные параметры, запятая не опциональный параметр. Далее линкеру нужно знать размер секции и что в неё помещать. Это нужно указать в сурсе как .code name
Я понял, сверх установленных атрибутов для секции... И так далее Спасибо всем, я быстренько перевёл ресурс этот, в общем, меня бы устроил такой вариант: /SECTION:.name,R ТО есть чтобы можно было читать из секции ТОлько, простите, всё равно что-то не создаётся секция Простите, я так понимаю, в исходнике я должен указать размер секции и её содержание? А как? Извините. И ещё. Phyber, ничего, что ресурс, к которому вы меня отослали... э... С++-ый? Или линковщики одинаковы, что для C++, что для masm?
Данная опция изменяет атрибуты существующей секции. Содержание. Ну, вы же, как-то указываете содержание секции кода. Или данных. Данная опция изменяет атрибуты существующей секции. да.
Вот секцию я худо-бедно научился создавать. Вот так: Код (Text): .386 .model flat, stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\kernel32.inc includelib \masm32\lib\kernel32.lib .data .code section per db "stroka", 0 .code start: invoke ExitProcess, 0 end start Но вот мне нужно ещё её размер как-то указывать научиться. Ну, я не знаю,может, я слишком многого прошу и линковщик сам создаёт ей размер в зависимости от содержания, не знаю. В принципе я это смогу сделать и сам, открыв нужный файл на запись и порывшись в статье "от зелёного к красному", найти нужное поле и вручную изменить размер. Но это много труднее, нежели поручить это дело линковщику. Спасибо, буду дальше сам думать.
amvoz Если уж вы начали разбираться в опциях компилятора и линковщика, то посмотрите заодно, как избавиться ненужной писанины в каждом asm-файле: вместо .model flat,stdcall достаточно писать .model flat отсутствие stdcall компенсируется ключем ml /Gz, отсутствие строки option casemap:none компенсируется ml /Cp. Полный путь к inc- и lib- файлам убирается совсем, например вместо include \masm32\include\windows.inc, достаточно include windows.inc при указании "ml /Ic:\masm32\include", то же с либами - строка "link /LIBPATH:c:\masm32\lib". Примеры здесь и здесь