|
539 / 399 / 99
Регистрация: 18.08.2012
Сообщений: 1,024
|
||||||
Внешняя процедура на ассемблере23.12.2013, 03:29. Показов 2302. Ответов 8
Метки нет (Все метки)
Доброй ночи! Не хочет собираться C++ (в Dev-C++) и внешняя процедура ассемблера (компилируется в отдельном файле, т.е. имею _pSr.obj). Вылезает ошибка
[Linker error] undefined reference to '_pSr' Процедура с параметрами. Причем, если параметры убираю, все проходит нормально. В сишном файле стандартная декларация
В Дельфи, во ФриПаскале никаких проблем, все работает.
1
|
||||||
| 23.12.2013, 03:29 | |
|
Ответы с готовыми решениями:
8
Ассемблер и C++, внешняя подпрограмма на ассемблере Внешняя процедура Внешняя процедура |
| 23.12.2013, 03:37 | |
|
к имени функции компилятор сам очень часто добавляет знак подчеркивания в начале. попробуйте просто его убрать. если это не сработает, приведите минимальный проект (исходники си и асма), есть еще пара вопросов, но думаю что привести исходники будет проще, чем задавать и отвечать на них
1
|
|
|
870 / 529 / 149
Регистрация: 03.02.2013
Сообщений: 1,848
|
|
| 23.12.2013, 03:42 | |
|
вы нам что-то не то выдали, вот я гляжу на вашу ошибку, вижу '_pSr' где этот _pStr в коде не вижу, да и вообще Ваш код - полная лажа, он ничего не делает, грамматика верна, должно компилироваться - но чего, тут пустое брюхо, где мясо? может просто вы не пролинковали соответствующий cpp?
0
|
|
|
539 / 399 / 99
Регистрация: 18.08.2012
Сообщений: 1,024
|
||||||
| 23.12.2013, 04:06 [ТС] | ||||||
|
Увы, символ подчеркивания тут ни при чем. Делал и с ним и без него. Но в Дельфи-то все без проблем
![]() Добавлено через 20 минут Мясо примерно такое
0
|
||||||
|
870 / 529 / 149
Регистрация: 03.02.2013
Сообщений: 1,848
|
|
| 23.12.2013, 04:14 | |
|
дайте код на Дельфи, а ещё лучше FPC, думаю что смогу вам перевести, fpc мой любимый язык после хаскеля, из кода, что Вы привели я нефига не понял, покажите код, то что Вы считаете рабочим под fpc или дельфи, для меня будет яснее
Добавлено через 2 минуты хотя походу я понял суть Вашей проблемы)))
0
|
|
|
539 / 399 / 99
Регистрация: 18.08.2012
Сообщений: 1,024
|
||||||
| 23.12.2013, 04:20 [ТС] | ||||||
|
Да на Дельфи все просто. Достаточно вставить
0
|
||||||
| 23.12.2013, 04:34 | ||||||||||||||||
|
так. стоп. у вас MinGW (это та хрень которая вместе с Dev-C++ идет) или Visual C++ ??? Просто я не припомню чтоб _CRT_SECURE_NO_WARNINGS были в gcc.
Добавлено через 51 секунду да собственно как и conio.h, который кажется только лишь в одном borland c++ остался... Добавлено через 2 минуты 1.S
как видите, в асм файле у меня символ _pSt, а в cpp -- pSt (без подчеркивания). Однако, студийный компилятор делает, вполне вероятно, по другому. вы таблицу экспорта-то хоть посмотрели? тот же objdump, да или хоть какой-нито pe explorer плагин для тотала -- там все экспортируемые символы должны быть указаны. когда возникает ошибка линковки -- это значит какой-то символ не так себя назвал или компилятор его обработал не так как ожидалось. нужно либо найти ключик к компилятору, который будет именовать символы так, как хотите вы, либо переименовать символы в самом коде... к сожалению с visual c++ я дружу гораздо меньше, однако могу попробовать
0
|
||||||||||||||||
|
2899 / 1933 / 209
Регистрация: 05.06.2011
Сообщений: 5,689
|
|||
| 23.12.2013, 04:37 | |||
|
Добавлено через 2 минуты Пока писал, уже код выложили.
0
|
|||
| 23.12.2013, 05:19 | |||||||||||
|
visual c++:
3.cpp
компиляция:
0
|
|||||||||||
| 23.12.2013, 05:19 | |
|
Помогаю со студенческими работами здесь
9
Процедура на ассемблере Внешняя процедура, выполняющая сложение двух чисел (передача параметров через стек) Процедура ПередЗаписью и Процедура ПередЗаписьюНаСервере Внешняя нормаль Внешняя обработка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера 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, то после закрытия окошка. . .
|