Старый 16.05.2003, 23:26   #1   
Форумец
 
Сообщений: 11
Регистрация: 12.05.2003

TMY вне форума Не в сети
Ассемблерные вставки.

Пишу я на Visual C++. Мне необходимо функцию, написанную на ассемблере вставить в исходник. Как мне это сделать? Заранее спасибо.
  Ответить с цитированием
Старый 17.05.2003, 01:04   #2   
Форумец
 
Аватар для RomanPshenichny
 
Сообщений: 334
Регистрация: 14.04.2003
Возраст: 42

RomanPshenichny вне форума Не в сети
Re: Ассемблерные вставки.

> Пишу я на Visual C++.
> Мне необходимо функцию, написанную на ассемблере
> вставить в исходник. Как мне это сделать? Заранее спасибо.

void foo ()
{
_asm {
xor eax, eax
}
}
  Ответить с цитированием
Старый 17.05.2003, 12:39   #3   
Форумец
 
Сообщений: 11
Регистрация: 12.05.2003

TMY вне форума Не в сети
Спасибо, такую шнягу я знаю. Я наверное неправильно сформулировал вопрос.
У меня есть asm файл. В нем функция. Мне надо эту функцию вызвать. В принципе, он замечательно вставляется в проект, но когда я пытаюсь вызвать функцию, компилятор выдает ошибку. Скорее всего нужно прописать в заголовке что-то вроде #include "". Вот что именно нужно прописывать?
  Ответить с цитированием
Старый 18.05.2003, 00:05   #4   
Форумец
 
Аватар для RomanPshenichny
 
Сообщений: 334
Регистрация: 14.04.2003
Возраст: 42

RomanPshenichny вне форума Не в сети
Так вот. Как это сделать правильно и проще я описал, да и ты сам знаешь как это сделать.
Теперь, как сделать так, как хочешь ты
В 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
  Ответить с цитированием
Старый 18.05.2003, 01:36   #5   
Форумец
 
Сообщений: 1,696
Регистрация: 24.11.2002
Возраст: 39

LSL вне форума Не в сети
TMY И кому оно нужно: низкоуровневое программирование
  Ответить с цитированием
Старый 18.05.2003, 22:51   #6   
Форумец
 
Аватар для RomanPshenichny
 
Сообщений: 334
Регистрация: 14.04.2003
Возраст: 42

RomanPshenichny вне форума Не в сети
> И кому оно нужно: низкоуровневое программирование

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

Примеры:
- шейдеры на видеокарте.
- общая оптимизация.
- всякий специфичный хард, типа мелких контроллеров.
  Ответить с цитированием
Старый 19.05.2003, 08:28   #7   
4e
 
Аватар для Alexey
 
Сообщений: 3,610
Регистрация: 27.09.2001
Возраст: 42

Alexey вне форума Не в сети
RomanPshenichny : не ведись. LSL нас скоро удивит своими продуктами на дот нет )
  Ответить с цитированием
Старый 20.05.2003, 18:16   #8   
Форумец
 
Сообщений: 11
Регистрация: 12.05.2003

TMY вне форума Не в сети
Ссылка -кайф! Базара нет! Спасибо!!!
  Ответить с цитированием
Старый 20.05.2003, 21:42   #9   
Форумец
 
Сообщений: 1,696
Регистрация: 24.11.2002
Возраст: 39

LSL вне форума Не в сети
Alexey Ты смеешься ? Или хуже того мне не веришь...
Так знай же...
Я уже могу предоставить довольно простую,
замечательную игровую программу на VB.NET и DX8.
И исходники...
На моей старой видеокарте 200FPS в окне 640*480.

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

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

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

BASIC-FOREVER
  Ответить с цитированием
Старый 01.06.2003, 18:49   #10   
Форумец
 
Аватар для Spectator
 
Сообщений: 39,820
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
LSL
Я понимаю, что ты просто шутишь. Но все же отвечу - есть алгоритм, который выполняет 1000000 операций в секунду. Написан на С и код оптимизирован. Надо добиться результата в несколько раз лучше. Ы? На Dot Net переходить не предлагать А то, что что-то путевое написать можно даже на спектрумовском васике, так базара нет. Но почему-то Абраш когда такты считал для первой кваки, примеры были на асме. Не спрашивай меня, почему...
  Ответить с цитированием
Старый 01.06.2003, 21:16   #11   
Форумец
 
Сообщений: 1,696
Регистрация: 24.11.2002
Возраст: 39

LSL вне форума Не в сети
Spectator Я ничего не понял.
Какие такты ? Какие операции ?
  Ответить с цитированием
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind