Большой Воронежский Форум
» Программирование>Ассемблерные вставки.
TMY 23:26 16.05.2003
Пишу я на Visual C++. Мне необходимо функцию, написанную на ассемблере вставить в исходник. Как мне это сделать? Заранее спасибо. [Ответ]
RomanPshenichny 01:04 17.05.2003
> Пишу я на Visual C++.
> Мне необходимо функцию, написанную на ассемблере
> вставить в исходник. Как мне это сделать? Заранее спасибо.

void foo ()
{
_asm {
xor eax, eax
}
} [Ответ]
TMY 12:39 17.05.2003
Спасибо, такую шнягу я знаю. Я наверное неправильно сформулировал вопрос.
У меня есть asm файл. В нем функция. Мне надо эту функцию вызвать. В принципе, он замечательно вставляется в проект, но когда я пытаюсь вызвать функцию, компилятор выдает ошибку. Скорее всего нужно прописать в заголовке что-то вроде #include "". Вот что именно нужно прописывать? [Ответ]
RomanPshenichny 00:05 18.05.2003
Так вот. Как это сделать правильно и проще я описал, да и ты сам знаешь как это сделать.
Теперь, как сделать так, как хочешь ты
В ASM-файле у тебя должно быть описано в разделе public, какие символы ты экпортишь (процедуры и переменные).
Из ASM делаешь OBJ, из OBJ --> LIB.
Получившийся LIB встравляешь в проект (Project->Settings->Link). Импортишь символы в C++ через extern "C".
Если у тебя не PureC, то просто описываешь декларацию.

RomanPshenichny добавил [date]1053206077[/date]:
Накопал классный туториал по этому геморою


"Using x86 Assembly Language with Microsoft Visual C++ 6.0"
http://www.cs.virginia.edu/~csadmin/...aq/vc_asm.html

Ну, и конечно, классика от MSDN:

"Demonstrates a Mixed C and ASM Project with a C Header File"
http://msdn.microsoft.com/library/de...rimesstep3.asp [Ответ]
LSL 01:36 18.05.2003
TMY И кому оно нужно: низкоуровневое программирование [Ответ]
RomanPshenichny 22:51 18.05.2003
> И кому оно нужно: низкоуровневое программирование

Местами -- нужно. И платят за это хорошо
Иногда -- без этого, ну совсем никак.

Примеры:
- шейдеры на видеокарте.
- общая оптимизация.
- всякий специфичный хард, типа мелких контроллеров.
[Ответ]
Alexey 08:28 19.05.2003
RomanPshenichny : не ведись. LSL нас скоро удивит своими продуктами на дот нет ) [Ответ]
TMY 18:16 20.05.2003
Ссылка -кайф! Базара нет! Спасибо!!! [Ответ]
LSL 21:42 20.05.2003
Alexey Ты смеешься ? Или хуже того мне не веришь...
Так знай же...
Я уже могу предоставить довольно простую,
замечательную игровую программу на VB.NET и DX8.
И исходники...
На моей старой видеокарте 200FPS в окне 640*480.

Только установи платформу http://msdn.microsoft.com/netframework/downloads/

И ещё я не виноват если программа не заработает на .NET 1.1 я её
компилировал в .NET 1.0

Одно - НО. Программа не настолько моя НО это ни чего не меняет.

BASIC-FOREVER
[Ответ]
Spectator 18:49 01.06.2003
LSL
Я понимаю, что ты просто шутишь. Но все же отвечу - есть алгоритм, который выполняет 1000000 операций в секунду. Написан на С и код оптимизирован. Надо добиться результата в несколько раз лучше. Ы? На Dot Net переходить не предлагать А то, что что-то путевое написать можно даже на спектрумовском васике, так базара нет. Но почему-то Абраш когда такты считал для первой кваки, примеры были на асме. Не спрашивай меня, почему... [Ответ]
LSL 21:16 01.06.2003
Spectator Я ничего не понял.
Какие такты ? Какие операции ? [Ответ]
Вверх