![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 20.09.2011
Сообщений: 10
|
![]()
Здравствуйте.
Как в fasm вызвать C-функцию? Конкретно: какой формат должен подключаться, какие особенности оформления сишного кода, какими командами ассемблера это делается и т.д. В общем вся информация, необходимая для подключения С-файла и использования С-функции. Желательно развернутый ответ или ссылка на хороший сайт(гуглин, но ничего путного не нашел). Компилятор gcc или mvc. Спасибо. Последний раз редактировалось BigBong; 01.10.2011 в 13:41. |
![]() |
![]() |
![]() |
#2 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
![]()
С-соглашение (cdecl) отличается от stdcall только тем что стек очищает вызывающий.
Код:
вот, собственно, и всё |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 20.09.2011
Сообщений: 10
|
![]()
Спасибо, буду разбираться. А не могли бы вы пример привести?
|
![]() |
![]() |
![]() |
#4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Код:
I'm learning to live...
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 31.05.2011
Сообщений: 184
|
![]()
У вас опечатка. Вы берете функции из "msvcrt20", а подключили "msvcrt" (из msvcrt.dll). Просто для ТС говорю, чтобы он не ломал голову, что здесь не так. Хотя может он и сам догадается.
Программист-фрилансер, готовый рассмотреть предложения на постоянную удаленную работу... Ответственный, трудолюбивый
![]() telegram: flancejob |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 20.09.2011
Сообщений: 10
|
![]()
Благодарю.
|
![]() |
![]() |
![]() |
#7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 28.05.2011
Сообщений: 309
|
![]()
Скажите, а как понять вот эти строчки кода..
типа указывает на секцию с датой и кодом, но что дальше написано не понятно.. Код:
Спеши медленно.
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 05.10.2011
Сообщений: 368
|
![]()
code и data это вспомогательные метки для FASM чтобы он знал где начинается код и данные (BaseOfCode и BaseOfData), их можно не указывать, программа будет работать, но заголовок будет немного неверный
а потом атрибуты секций. readable - можно не указывать. всегда есть по умолчанию, ибо если её нет, то толку от секции никакого executable - выполнимая writeable - записываемая последние два обязательные, без них программа работать не будет (либо будет выдавать ошибки)
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
Последний раз редактировалось haruhi; 06.10.2011 в 20:23. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 28.05.2011
Сообщений: 309
|
![]()
haruhi, скажите Вы написали что два атрибута (executable, writeable) обязательны.. тогда почему в секции кода нету writeable, а в секции данных нету executable ?
или обязательны так: executable для кода, writeable для данных ?
Спеши медленно.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
вызов функции | -Anton- | Microsoft Office Excel | 2 | 09.06.2011 14:18 |
Вызов функции | Anubys | Помощь студентам | 2 | 06.04.2011 16:40 |
Мини бэйсик:объявление функции, вызов функции , возврат. | AL_LORD | Помощь студентам | 2 | 14.10.2010 17:48 |
Вызов функции | new player | БД в Delphi | 5 | 07.10.2010 13:01 |
Вызов функции | MarSeON | PHP | 2 | 01.08.2008 20:22 |