Forth
http://fforum.winglion.ru/

Передача параметров вызывающей программе
http://fforum.winglion.ru/viewtopic.php?f=23&t=2842
Страница 1 из 1

Автор:  incubus370 [ Вс апр 15, 2012 21:48 ]
Заголовок сообщения:  Передача параметров вызывающей программе

Как вернуть вычисленное в quark значение обратно в программу вызвавшую quark через EvaluateC

число дробное

Автор:  VoidVolker [ Вс апр 15, 2012 22:06 ]
Заголовок сообщения:  Re: Передача параметров вызывающей программе

В длл? Тогда, проще всего в вызывающей программе передать кварку адрес переменной или массива, а уже в кварке записывать результат вычислений в переменную или массив.

Автор:  incubus370 [ Пн апр 16, 2012 06:34 ]
Заголовок сообщения:  Re: Передача параметров вызывающей программе

интересно и каким же я образом передам параметры в С#? Там экземпляры классов, а не обычные области памяти.

Автор:  Hishnik [ Пн апр 16, 2012 08:34 ]
Заголовок сообщения:  Re: Передача параметров вызывающей программе

Указатель на верхнее число стека данных:
Код:
GetStack() + (GetDepth() - 1) * 4

Это должно быть внутри unsafe.

Автор:  incubus370 [ Пн апр 16, 2012 09:14 ]
Заголовок сообщения:  Re: Передача параметров вызывающей программе

Хищник писал(а):
Указатель на верхнее число стека данных:
Код:
GetStack() + (GetDepth() - 1) * 4

Это должно быть внутри unsafe.


нужен стек сопроцессора или локалный стек

мне нужно вернуть значение что посчитал сопроцессор.

Автор:  white_TigR [ Пн апр 16, 2012 09:46 ]
Заголовок сообщения:  Re: Передача параметров вызывающей программе

incubus370 писал(а):
Хищник писал(а):
Указатель на верхнее число стека данных:
Код:
GetStack() + (GetDepth() - 1) * 4

Это должно быть внутри unsafe.


нужен стек сопроцессора или локалный стек

мне нужно вернуть значение что посчитал сопроцессор.

В форте записать в переменную и на вершине стека вернуть адрес переменной.
Код:
FLOAT A
123.321 A F!
A


Или на асме напрямую со стека сопроцессора(делфя):
Код:
procedure FSPopDouble(a: pointer);
asm
  FSTP qword ptr[eax]
end;

procedure GetSomething;
var
  a: double;
begin
  FSPopDouble(@a);
end;

Автор:  Гость [ Вт апр 17, 2012 13:36 ]
Заголовок сообщения:  Re: Передача параметров вызывающей программе

incubus370 писал(а):
интересно и каким же я образом передам параметры в С#? Там экземпляры классов, а не обычные области памяти.


Hosting Forth.Net in a Windows Form
Возможно этот вариант прояснит.

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/