|
120 / 4 / 1
Регистрация: 15.06.2016
Сообщений: 236
|
|
FASM Как подключить include к flat компилятору18.06.2018, 13:10. Показов 13772. Ответов 18
Метки нет (Все метки)
Здравствуйте,как подключить include к flat компилятору?Требуется подключить include 'win32a.inc' к проекту.win32a.inc лежит в папке "include" компилятора.
0
|
|
| 18.06.2018, 13:10 | |
|
Ответы с готовыми решениями:
18
Как подключить библиотеку gluit к компилятору?
|
|
Модератор
|
|
| 18.06.2018, 14:59 | |
|
Почему db можно вставить в конце программы
и обратите внимание на секцию импорта dll с перечислением используемых (строки 33-42)
1
|
|
|
120 / 4 / 1
Регистрация: 15.06.2016
Сообщений: 236
|
|
| 18.06.2018, 22:25 [ТС] | |
|
компилятор(или транслятор,не знаю точно,крч fasm
) ругается что не нашел файлы win32ax.inc,api\kernel32.inc,...В g++/gcc ,к примеру , можно указывать путь к заголовочным файлам и библиотекам в опциях компилятора,например g++ -I... -L... -l... .Ожидаю того же на ассемблере),только ,почему-то, не нашел этих опций в справочнике)
0
|
|
|
Модератор
|
|
| 18.06.2018, 22:47 | |
|
http://www.manhunter.ru/assemb... _fasm.html
предлагают ввести переменную среды окружения include="C:\FASM\INCLUDE" или в исходнике полностью прописывать путь к включаемому файлу.Думаю, что второй путь предпочтительнее, т.к. переменную окружения с таким именем может использовать любой другой компилятор, который перестанет работать.
2
|
|
|
120 / 4 / 1
Регистрация: 15.06.2016
Сообщений: 236
|
|
| 19.06.2018, 13:53 [ТС] | |
|
Каждый раз прописывать полный путь как-то трудоемко,лучше,наверное,с переменной окружения.Только не знаю где это прописывается
0
|
|
|
Модератор
|
|
| 19.06.2018, 15:31 | |
|
Меню - Компьютер - кнопка под строкой меню "Свойства системы" - вкладка "дополнительно" кнопка "переменные среды"
Там для пользователя добавите нужные переменные и перезагрузите компьютер.
2
|
|
|
Эксперт Hardware
|
|||||||
| 19.06.2018, 16:17 | |||||||
Сообщение было отмечено ФедосеевПавел как решение
Решение
3
|
|||||||
|
4190 / 1838 / 221
Регистрация: 06.10.2010
Сообщений: 4,124
|
|
| 19.06.2018, 16:20 | |
Сообщение было отмечено ФедосеевПавел как решение
Решение
В файле fasm.ini в секции [Environment] нужно задать переменную Include.
Добавлено через 24 секунды R71MT Опередил
3
|
|
|
120 / 4 / 1
Регистрация: 15.06.2016
Сообщений: 236
|
|
| 19.06.2018, 17:32 [ТС] | |
|
Но я работаю не в flat assembler,а в geany.
Настроил его для ассемблера,только заголовочные файлы осталось добавить ФедосеевПавел, а в какую переменную нужно добавить?
0
|
|
|
Модератор
|
|
| 19.06.2018, 17:38 | |
|
FASM всё равно обращается к собственным ini-файлам.
Я - ошибся. R71MT и murderer описали правильный вариант.
1
|
|
|
120 / 4 / 1
Регистрация: 15.06.2016
Сообщений: 236
|
|
| 19.06.2018, 17:44 [ТС] | |
|
0
|
|
|
Asm/C++/Delphi/Py/PHP/VBA
|
|
| 19.06.2018, 18:06 | |
|
Определите переменную окружения INCLUDE, и всё будет работать.
Добавлено через 1 минуту А fasmw.ini работает только для редактора fasmw, к консольному fasm этот ini не имеет никакого отношения...
1
|
|
|
120 / 4 / 1
Регистрация: 15.06.2016
Сообщений: 236
|
|
| 19.06.2018, 21:14 [ТС] | |
|
0
|
|
|
Модератор
|
|
| 19.06.2018, 21:56 | |
|
Не IncludeAssembler, а просто Include
1
|
|
|
120 / 4 / 1
Регистрация: 15.06.2016
Сообщений: 236
|
|
| 19.06.2018, 22:00 [ТС] | |
|
Сработало)А какая разница какое имя у переменной?
0
|
|
|
Модератор
|
|
| 19.06.2018, 22:03 | |
|
Эта переменная "среды окружения" - она глобальная, видна изо всех программ на компьютере. И fasm ищет переменную с точно заданным именем, а не похожим.
1
|
|
|
120 / 4 / 1
Регистрация: 15.06.2016
Сообщений: 236
|
|
| 19.06.2018, 22:09 [ТС] | |
|
понятно,спасибо)
0
|
|
|
Asm/C++/Delphi/Py/PHP/VBA
|
|
| 19.06.2018, 23:37 | |
|
Потому что fasm (да и многие другие компиляторы) читают именно эту переменную, а IncludeAssembler им фиолетов
![]() Добавлено через 18 секунд Ой, не заметил, что уже ответили...
2
|
|
|
Эксперт Hardware
|
||||||||||||||||
| 02.07.2018, 10:13 | ||||||||||||||||
Сообщение было отмечено ФедосеевПавел как решение
Решение
Система инклуд в FASM чуть запутанная,
что порождает некоторые вопросы при программировании по винду. Например, могут возникнуть проблемы импорта функций, если структура программы не соответствует требованиям компилятора. Когда-то исследовал содержимое его файлов и обнаружил следующею закономерность - может кому пригодится.. Значит дополняем INI-файл секцией 'Environment' как описано выше, и теперь FASM находит инклуды только по имени, без полного пути. А вот дальше интересней.. Вызывать в шапке программы 'win32a.inc' нет никакого смысла, т.к. в своём теле этот инклуд просто вызывает макросы и их описатели: Содержимое win32a.inc
Значит идём дальше и открываем следующий по списку 'win32ax.inc'. В нём описываются несколько макросов, а в начале и конце можно обнаружить следующие строки. То-есть '32ах' вызывает '32а':
что если вызвать в исходнике этот файл, то можем пользоваться укороченными директивами, при этом если укажем в конце .end метка, то отпадает надобность в импорте буквально любой из задействованных в исходнике API-функций - макрос '.end' сделает это за нас. Например, исходник чтения строки из реестра может быть оформлен так (замечу, что я не указываю секцию импорта, а компиль добавит её сам):
Таким образом мы лишились головной боли по импорту, но приобрели зубную боль, связанную с импортом отсутствующих в перечисленных библиотеках функций, ведь по-умолчанию FASM импортирует не все DLL-ки винды, а только 8 из них. К примеру, как теперь импортировать удобные для нас функции prinf/scanf из либы msvcrt.dll, ведь её нет в списке макроса '.end'?Думаю не трудно догадаться, что решение лежит на поверхности и я не буду его здесь приводить. Отмечу лишь, что полный список импортируемых функций из этой библиотеки можно получить в Тотале (C:\WINDOWS\system32\msvcrt.dll), по клавише [Ctrl+Q] на вкладке Import/Export. После всех манипуляций, вы должны добавить в макрос '.end' девятым файлом include 'api/msvcrt.inc'
2
|
||||||||||||||||
| 02.07.2018, 10:13 | |
|
Помогаю со студенческими работами здесь
19
как подключить директорию #include <irrlicht.h> в Qt include require как подключить правильно файл Как быстро подключить сразу несколько include
Как подключить несколько файлов директивой #include Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|