Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 01.04.2019
Сообщений: 52

Не линкуется файл

19.02.2020, 00:25. Показов 1517. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Совсем-совсем новичек и только начал разбираться с masm32. Общем, такие дела - в obj-файл спокойно компилируется исходник, но вот дальше он не линкуется никак в исполняемый. Выдаёт просто: "link: cannot create link 'lesson.obj' to '/subsystem:console': File exists". И что-то я вообще не могу понять, каким образом мне создать екзешник-то?
В исходнике такой незатейлевый код:
Assembler
1
2
3
4
5
6
7
8
9
10
11
.586
.model flat, stdcall
 
data segment
data ends
 
code segment
start:
    ret
code ends
end start
Ну и собственно консолька выглядит как-то так



Был бы благодарен за помощь. Прошу прощения, если задаю совсем дурацкие вопросы и не уточняю, что надо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.02.2020, 00:25
Ответы с готовыми решениями:

dynamic RTL не линкуется
Пытаюсь отправить письмо. Письмо нормально отправляется. Но как только снимаю галку в опциях Build with runtime package, вываливается куча...

Не линкуется простенькая программа
Программа создает 4 окна и разбивает главное окно на 4 части, также создается 4 потока и они рисуют в этих 4 дочерних окнах... собственно...

Не линкуется программа с Гитхаба
Дано: Microsoft Visual C++ 2008, экспресс-выпуск (SP1) - RUS. Пытаюсь скомпилировать вот эту программу с Гитхаба ...

9
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8659 / 4494 / 1669
Регистрация: 01.02.2015
Сообщений: 13,907
Записей в блоге: 12
19.02.2020, 07:23
Трудно сказать. Вроде бы всё правильно. Я его скомпилировал без ошибок. Только для ml указывал расширение lesson.asm
Попробуйте компилировать и запускать из qeditor.exe, который в составе с masm32.
0
0 / 0 / 0
Регистрация: 01.04.2019
Сообщений: 52
19.02.2020, 10:53  [ТС]
Я пользуюсь notepad++, как оказалось, как сохранял, нужно было добавлять расширение .asm. Само оно, оказывается, его не прописывало. Ноо проблему это не особо решило. Ошибка осталась. Через qeditor сбилдать вышло, и оно даже мне создало екзешник, но теперь вопрос - как? Всюду пишут через консольку надо, и, вроде бы, всё делаю аналогично, но чего-то оно так не хочет
0
 Аватар для beats
101 / 42 / 9
Регистрация: 09.12.2012
Сообщений: 597
19.02.2020, 14:37
Цитата Сообщение от Glukhov Посмотреть сообщение
Через qeditor сбилдать вышло, и оно даже мне создало екзешник, но теперь вопрос
Чем вас qeditor не устраивает? Попробуйте более специфические вещи типа asm visual,
скрин аргументов шаблонного проекта:
Миниатюры
Не линкуется файл  
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8659 / 4494 / 1669
Регистрация: 01.02.2015
Сообщений: 13,907
Записей в блоге: 12
19.02.2020, 15:17
Glukhov, а как вы компилируете в npp?
Я толком и не умею им пользоваться. Попробовал компилировать через плагин NppExec. Создал сценарий
Code
1
2
3
4
5
6
7
// save current file 
NPP_SAVE
 
set mpath=d:\masm32\bin
 
$(mpath)\ml.exe /c /coff $(FULL_CURRENT_PATH)
$(mpath)\link.exe /SUBSYSTEM:CONSOLE $(CURRENT_DIRECTORY)\$(NAME_PART).obj
Выполнил его
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
NPP_SAVE: D:\masm32\1\main.asm
SET: mpath=d:\masm32\bin
$(MPATH) = d:\masm32\bin
d:\masm32\bin\ml.exe /c /coff D:\masm32\1\main.asm
Process started (PID=3544) >>>
Microsoft (R) Macro Assembler Version 6.15.8803
Copyright (C) Microsoft Corp 1981-2000.  All rights reserved.
 
 Assembling: D:\masm32\1\main.asm
<<< Process finished (PID=3544). (Exit code 0)
d:\masm32\bin\link.exe /SUBSYSTEM:CONSOLE D:\masm32\1\main.obj
Process started (PID=9004) >>>
Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
 
<<< Process finished (PID=9004). (Exit code 0)
================ READY ================
Как видно - компиляция и компоновка выполнились успешно.
0
0 / 0 / 0
Регистрация: 01.04.2019
Сообщений: 52
19.02.2020, 16:26  [ТС]
beats, не устраивает тем, что от меня требуется преподавателем это всё дело совершать через комнадную строку

Добавлено через 2 минуты
ФедосеевПавел, да никак, в общем-то, я просто там пишу код и сохраняю файл. Компилирую я через командную строку
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8659 / 4494 / 1669
Регистрация: 01.02.2015
Сообщений: 13,907
Записей в блоге: 12
19.02.2020, 16:49
А-а-а-а...
Тады я вот так компилирую из пакетного файла, чтобы рука не уставала
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@echo off
@set AsmSourceName=main
@if [%1]==[] goto :EXIST
@set AsmSourceName=%~dpn1
 
:EXIST
 
@del %AsmSourceName%.obj > NUL
@del %AsmSourceName%.exe > NUL
@del %AsmSourceName%.com > NUL
@echo on
 
d:\masm32\bin\ml.exe /Fl /c /coff /X /Id:\ %AsmSourceName%.asm
d:\masm32\bin\link.exe /SUBSYSTEM:CONSOLE %AsmSourceName%.obj
@pause
Название файла по умолчанию main.asm или можно параметром к пакетнику другое добавить.
Это если файл на одном диске с masm32.
Если на разных дисках, тогда нужно ещё три переменных среды окружения добавить. Не помню какие, но можно поискать.

Добавлено через 3 минуты
Возможно, что в системе по умолчанию прописан путь к другому link - поэтому, когда вы вызываете без полного указания пути к link из masm32 - вызывается какая-то другая программа.

У меня в пакетнике - полный путь к конкретному ml и link.
0
0 / 0 / 0
Регистрация: 01.04.2019
Сообщений: 52
19.02.2020, 16:58  [ТС]
Похоже, что так оно и есть - указал полный путь к этим файлам и всё заработало, как надо. Что странно, я вроде сам вручную прописывал в переменную path путь к линкеру и ml
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8659 / 4494 / 1669
Регистрация: 01.02.2015
Сообщений: 13,907
Записей в блоге: 12
19.02.2020, 17:11
В этом глобальном path много мусора - и к link из Visual Studio и к link другого пакета.

Лучше путь указывать внутри пакетного файла. Как-нибудь подобно
Masm64
0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
19.02.2020, 19:39
И, скорее всего, этот другой link - не компоновщик, а программа в стиле unix, создающая ссылку на файл.
Glukhov, для выполнения задания Вам обязательно именно этими версиями программ из masm32, а не текущими?
И компоновщик обязательно нужно было запускать отдельной командой? Сразу создавать исполняемый модуль одной командной строкой ML.EXE ,запускающей последовательно ассемблер и компоновщик, нельзя?ML.EXE
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.02.2020, 19:39
Помогаю со студенческими работами здесь

Не линкуется GLEW в VS2013
Пытаюсь собрать проект под vs2013, glfw и devil подключаются нормально, а у glew'a кроме glewInit() ничего не работает. Если я не правильно...

Не линкуется obj file
Программа тасмом компилируется, но не линкуется. Мне нужно ввести данные и вывести. Вроде бы все верно сделано &quot;по учебнику&quot;,...

Не линкуется FreeGLUT в CMake (CLion)
Доброго времени суток. Никак не могу прилинковать FreeGLUT в CMake (который в CLion). FreeGLUT собирал в CLion, импортировав проект из...

Не линкуется проект (не находит библиотеки)
Работал на одном ноутбуке, учил по маленьку DirectX. Возникла необходимость переехать. Поставил абсолютно одинаковый софт- VS 2010, DirectX...

Не линкуется проект с boost::thread
Здравствуйте! Пытаюсь собрать проект в Code::Blocks на Ubuntu. В проекте используется библиотека boost::thread. Файл...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru