· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.ASSEMBLER —› C++ и Masm

. 1 . 2 . >>

Посл.отвђт Сообщенiе


Дата: Сен 18, 2003 08:15:27

Пишу прогу в Visual C++ 6.0. Но нужно некоторые процедуры написать на асме (у меня Masm 6.14). Мне это видится так: создаю из асм-файла obj с объявленными public функциями, вставляю этот obj в опции линкера C++ и вызываю процедуры. Но что-то не клеется. Кто знает, как это сделать, или хотя бы где посмотреть?
В с++ вставляю прототип экспортируемой функции:
extern void ShowMess(char*);
а в асме объявляю функцию публичной:
public ShowMess

ShowMess PROC
...
ShowMess ENDP


Дата: Сен 18, 2003 08:37:59 · Поправил: Fixer

Поставь Processor Pack отсюда. В документации есть пример применения ассемблерного и C кода совместно.


Дата: Сен 18, 2003 09:30:45

Скачал, но он не ставится без 4-го сервиспака, который весит 120 метров!
Если у тебя есть этот пример на компе - может, скинешь по мылу (текст, вроде, весит немного)
hnero@mail.ru


Дата: Сен 18, 2003 11:43:11

Fixer
Поставь Processor Pack
А что это если не секрет?
Поподробнее.


Дата: Сен 18, 2003 12:48:56

WisdomCollector
Но что-то не клеется
А что именно не клеится? линкер выдает что-то типа symbol not found?


Дата: Сен 18, 2003 13:18:23

Edmond

Processor Pack дополняет Visual Studio компилятором Ассемблера (Visual Studio 6.0 шел без него) с поддержкой инструкций вплоть до P4 включая расширения SSE и т.д. Интегрированный отладчик модифицируется и позволяет просматривать регистры SSE. Кроме того SSE и т.д. инструкции можно употреблять в inline asm, кроме того их можно использовать аналогично как Intel C.


Дата: Сен 18, 2003 13:50:06

Спасибо!
У меня получилось.
Я вообще-то недавно на vc++ сел. Посоветуйте хорошие доки по нему


Дата: Сен 18, 2003 13:53:32

Не буду оригинален - MSDN :)


Дата: Сен 18, 2003 14:12:14

понятно
ну, может, кто добрый ссылочку кинет :))))))))))))))))) (это, типа улыбка обезоруживающая)


Дата: Сен 18, 2003 14:13:29

Fixer
Спасибо.


Дата: Сен 18, 2003 14:16:04


Дата: Сен 18, 2003 16:52:33

WisdomCollector
Для нормальной работы extern функций, должны быть одинаковые соглашения о вызове (stdcall и т.п.). Или используй Inline Asm


Дата: Сен 18, 2003 18:12:43

Edmond

Processor Pack уже НЕ используется в NET. Там он, считай, интегрированный. Так что забей, Сеня...


Дата: Сен 19, 2003 20:14:11

А не проще поставить MASM32 v8 !?


Дата: Сен 19, 2003 21:51:14 · Поправил: Fixer

Quantum

А у тебя Visual Studio 6.0?

. 1 . 2 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.123