|
443 / 74 / 7
Регистрация: 29.01.2018
Сообщений: 1,274
|
||||||||||||||||
GAS/AT&T Раздельная компиляция22.10.2019, 18:15. Показов 7286. Ответов 32
Метки binutils, entry, entry point, ld, linker, symbol, undefined reference, компоновка, объектный модуль (Все метки)
помогите пожалуйста понять как надо правильно сделать.
первый файл под названием f.s
второй файл f2.s
0
|
||||||||||||||||
| 22.10.2019, 18:15 | |
|
Ответы с готовыми решениями:
32
раздельная компиляция Раздельная компиляция
|
|
443 / 74 / 7
Регистрация: 29.01.2018
Сообщений: 1,274
|
|
| 23.10.2019, 21:44 [ТС] | |
|
ну помогите уже уважаемые форумчане
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|||
| 23.10.2019, 21:54 | |||
|
3
|
|||
|
443 / 74 / 7
Регистрация: 29.01.2018
Сообщений: 1,274
|
|
| 24.10.2019, 17:45 [ТС] | |
|
ребята, syscall про него все верно. так пишут везде.
но давайте просто разберемся как мне вызвать фунцию foo написанную в отдельном файле на Gas из другой программы написанной также на GAs. любой пример пожалуйста
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 24.10.2019, 17:59 | |
|
pcmax, хорошо. Базовый вопрос: как ты определяешь вызвалась функция или нет.
0
|
|
|
443 / 74 / 7
Регистрация: 29.01.2018
Сообщений: 1,274
|
|
| 24.10.2019, 19:00 [ТС] | |
|
как я могу определять, если не знаю,как ее даже вызвать. вы пожалуйста не забывайте ,что я не программист.
просто помогите вызвать функцию правильно написанную на GAS в другом файле программы также на GAS
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||||
| 24.10.2019, 19:23 | ||||
|
Добавлено через 3 минуты
2
|
||||
|
443 / 74 / 7
Регистрация: 29.01.2018
Сообщений: 1,274
|
|
| 24.10.2019, 19:29 [ТС] | |
|
слушайте, это сейчас все кто пишут код-программисты. в мои дни, код могли писать обычные пользователи zx spectrum , например, и это было увлечение. это увлечение я сохранил и до этих дней. только вместо basic C++ и Assembler.
я не использую советы данные мне на этом форуме по написанию кода ни в работе, ни в учебе. там иные вопросы и боюсь что многие в них будут также некомпитентны как и я. по Ассемблеру Вам есть чем мне помочь?
1
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||
| 24.10.2019, 19:39 | ||
|
Я не вижу конкретной проблемы в это теме. Напиши функцию, которая что-то делает. Вызови ее. Проверь, что результат, который ты ожидаешь, не тот, который ты получаешь по факту. И вот тогда можно уже что-то обсуждать. Добавлено через 3 минуты С точки зрения банальной логики: если я никак не могу убедиться, что функция, которую я написал, вызывается и работает... То и не имеет значения, вызывается по факту функция, или нет. Она же ни на что не влияет и проверить ее никак не могу.
1
|
||
|
Модератор
|
|
| 24.10.2019, 19:43 | |
|
Почему бы не предположить, что топикстартер предлагает минимальный тестовый пример, правильность работы которого проверяет в отладчике?
Как понимаю, его интересует раздельная компиляция файлов, составляющих единую программу.
2
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|||
| 24.10.2019, 20:27 | |||
|
0
|
|||
|
Модератор
|
|
| 24.10.2019, 20:45 | |
|
Надеюсь, теперь pcmax понял, что:
- его код корректный, компилируется, выполняется - в чём состоит проблема - никому не понятно, раз код правильный Таким образом, от pcmax требуется уточнение, что в корректном коде его не устраивает.
0
|
|
|
Модератор
|
|||||||||||||||||||||
| 24.10.2019, 22:24 | |||||||||||||||||||||
|
Код, может быть, и абсолютно верный, но у меня первый модуль
f.s не ассемблируется:
2
|
|||||||||||||||||||||
|
443 / 74 / 7
Регистрация: 29.01.2018
Сообщений: 1,274
|
|||
| 25.10.2019, 18:31 [ТС] | |||
|
спасибо что поняли. Добавлено через 1 час 25 минут пердложите пожалуйста свой вариант.... я просто хочу вызвать любую функцию написанную в отдельном файле в основном коде. функция и основной код из которого она будет вызвана ,написанны на языке GAS.
0
|
|||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||
| 26.10.2019, 19:06 | ||
|
Так какая раздельная компляция, если код одного модуля даже не компилируется?
Добавлено через 1 минуту
0
|
||
|
443 / 74 / 7
Регистрация: 29.01.2018
Сообщений: 1,274
|
||
| 26.10.2019, 20:29 [ТС] | ||
|
вместо того чтобы лепить мне дизлайки, лучше бы написали работающий пример. говорить расплывчато и я умею. тут одни господа опираясь на маны, заявили в темах 2011 годов,что невозможно вызвать функцию написанную на Nasm в коде на Cи. А вот Politoto дал рабочий пример ,в котором я смог это осуществить. и я порой думаю откуда у них такая репутация высокая? не ужели это все благодаря чтению манов,которые говорят что это невозможно, а на деле возможно еще как? также один господит вообще не понимая в Assembler долго тыкал меня носом в дерьмо, говоря что он дал уже мне рабочий пример. при этом его пример не мог работать. я это понял, когда Человек,который действительно шарит в Си дал мне правильный пример)))) вобщем долой расплывчатые слова! только рабочие примеры. если таких нет, то просим идти лесом.
0
|
||
|
Модератор
|
|||||||||||||||||||||||||||||||||||||||||||
| 27.10.2019, 09:18 | |||||||||||||||||||||||||||||||||||||||||||
Сообщение было отмечено pcmax как решение
Решение![]() А репутация высокая у тех, к чьим вопросам и ответам другие пользователи не ленятся писать отзывы, а потом кликать на +1 Спасибо Проблема, которая у меня возникла с Вашим примером в том, что первый файл не являтся корректным модулем программы, написанном на входном языке gas с теми параметрами и настройками, с которыми я его запускаю. Добавлено через 24 минуты Предлагаю начать с абсолютно минимального примера программы из двух файлов, которые успешно ассемблируются раздельно и затем компонуются с помощью GNU binutils. Затем Вы добавите минимальные изменения в эти два файла, после которых модули все ещё можно будет успешно ассемблировать и создавать соответствующие объектные модули. Мы обсудим эти изменения, и, если повезёт, сможем понять, что хотите понять Вы.
nm показывает символы в a.out, который мы и создали только что
Кликните здесь для просмотра всего текста
Заголовок ELF: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 Класс: ELF64 Данные: дополнение до 2, little endian Версия: 1 (current) OS/ABI: UNIX - System V Версия ABI: 0 Тип: EXEC (Исполняемый файл) Машина: Advanced Micro Devices X86-64 Версия: 0x1 Адрес точки входа: 0x400040 Начало заголовков программы: 0 (байт в файле) Начало заголовков программы: 240 (байт в файле) Флаги: 0x0 Размер этого заголовка: 64 (байт) Размер заголовков программы: 0 (байт) Число заголовков программы: 0 Размер заголовков раздела: 64 (байт) Число заголовков раздела: 4 Индекс табл. строк загол. раздела: 1 Заголовки разделов: [Нм] Имя Тип Адрес Смещение Размер Разм.Ent Флаги Ссылк Инфо Выравн [ 0] NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [ 1] .shstrtab STRTAB 0000000000000000 000000d1 000000000000001b 0000000000000000 0 0 1 [ 2] .symtab SYMTAB 0000000000000000 00000040 0000000000000078 0000000000000018 3 1 8 [ 3] .strtab STRTAB 0000000000000000 000000b8 0000000000000019 0000000000000000 0 0 1 Обозначения флагов: W (запись), A (назнач), X (исполняемый), M (слияние), S (строки), l (большой) I (инфо), L (порядок ссылок), G (группа), T (TLS), E (исключён), x (неизв.) O (треб. доп. обработка ОС) o (специфич. для ОС), p (специф. для процессора) В этом файле нет групп разделов. В этом файле нет заголовков программы. В этом файле нет перемещений. The decoding of unwind sections for machine type Advanced Micro Devices X86-64 is not currently supported. Таблица символов «.symtab» содержит 5 элементов: Чис: Знач Разм Тип Связ Vis Индекс имени 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND _start 2: 0000000000601000 0 NOTYPE GLOBAL DEFAULT ABS __bss_start 3: 0000000000601000 0 NOTYPE GLOBAL DEFAULT ABS _edata 4: 0000000000601000 0 NOTYPE GLOBAL DEFAULT ABS _end В этом файле не найдена информация о версии.
3
|
|||||||||||||||||||||||||||||||||||||||||||
|
443 / 74 / 7
Регистрация: 29.01.2018
Сообщений: 1,274
|
|
| 27.10.2019, 10:13 [ТС] | |
|
в моем примере опечатка: там регистр r0 вместо r9.
напишите пожалуйста как бы Вы вызвали функцию на Gas написанную в отдельном файле из основного кода на Gas в другом файле?
0
|
|
|
443 / 74 / 7
Регистрация: 29.01.2018
Сообщений: 1,274
|
||
| 27.10.2019, 10:25 [ТС] | ||
|
пожалуйста не поленитесь набросать вес код и функции и основной. это всего несколько строк.
0
|
||
| 27.10.2019, 10:25 | |
|
Помогаю со студенческими работами здесь
20
Раздельная компиляция Раздельная компиляция Шаблоны и раздельная компиляция Раздельная компиляция и шаблоны Раздельная компиляция и шаблоны Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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. Пошагово создадим проект для загрузки изображения. . .
|