Показать сообщение отдельно
Старый 18.09.2012, 22:45   #11
Черный крыс
 
Сообщений: n/a
Ответ: Вся правда о Monkey

<<Не совсем понял. Чем вас не устроили ссылки? Или вам нужны указатели на примитивы? Тогда есть упаковка/распаковка. В любом случае кроссплатформенно реализовать указатели невозможно.>>

Если язык не держит указатели, то это уже невозможно.

<<И снова невозможно кроссплатформенно реализовать.>>
Это скорее отмазка. Но вот есть же директивы препроцессора, можно же это реализовать на тех платформах, где это есть. Привожу пример.

Допустим функция SinCos()

Ее держит Win32, Mac, Linux и допустим остальные ее не держат...
то код будет выглядеть следующим образом :

Function SinCos:Float[](angle:Float)
#ifdef __win32__ or __macos__ or __linux__
' ok платформа держит ее знач вызываем нужный нам нативный код
#else
' остальные говно-платформы
Local arr:Float[] = New Float[2]
arr[0] = Sin(angle)
arr[1] = Cos(angle)
Return arr
#end
End
Данный псевдокод будет работать на всех платформах.
 
Ответить с цитированием