проект delphine

Любые обсуждения, не нарушающие правил форума.

Модератор: Модераторы

Аватара пользователя
noch
постоялец
Сообщения: 145
Зарегистрирован: 07.06.2005 09:45:49
Откуда: Armenia
Контактная информация:

Сообщение noch »

STAKANOV писал(а):
Этот варинат лично я уже давно обдумываю. Правда вот думал, что может ДелфинОС подойдет. Но сие оценить так и не смог - просто так оно не собирается, а ковырять лень.
Ядро линукс и всех существующий действительн лучший вариант. Оно как минимум само по себе.

Я подозреваю что надо компилить старыми версиями компилятора, первой ветки :)
Аватара пользователя
STAKANOV
энтузиаст
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение STAKANOV »

noch писал(а):
STAKANOV писал(а):
Этот варинат лично я уже давно обдумываю. Правда вот думал, что может ДелфинОС подойдет. Но сие оценить так и не смог - просто так оно не собирается, а ковырять лень.
Ядро линукс и всех существующий действительн лучший вариант. Оно как минимум само по себе.

Я подозреваю что надо компилить старыми версиями компилятора, первой ветки :)

Ругается на две вещи

на конструкции

Код: Выделить всё

 sometype=record
  ...
  ...
  next:^sometype;
 end;


и на присваивание указателям числовых значений.
Janus
постоялец
Сообщения: 134
Зарегистрирован: 07.11.2005 16:06:49

Сообщение Janus »

И правильно делает, что ругается :D

Код: Выделить всё

sometype=record
 ...
 ...
  next: pointer;
end;


А число указателю присваивать - последнее дело. Хотя, при написании ядра ОС, может, и необходимо.
Janus
постоялец
Сообщения: 134
Зарегистрирован: 07.11.2005 16:06:49

Сообщение Janus »

Кстати, совсем забыл:

число можно присвоить переменной типа cardinal, а потом использовать приведение типов к pointer.
Аватара пользователя
Alexander
энтузиаст
Сообщения: 865
Зарегистрирован: 18.12.2005 18:10:00
Откуда: оттуда
Контактная информация:

Сообщение Alexander »

число можно присвоить переменной типа cardinal, а потом использовать приведение типов к pointer.


А разве так не сработает:

Код: Выделить всё

  var
      p : Pointer;

begin

Longint(p) := 100;

WriteLn(Longint(p));

end.
Janus
постоялец
Сообщения: 134
Зарегистрирован: 07.11.2005 16:06:49

Сообщение Janus »

А я не так сказал?

Просто ты делаешь наоборот: сначала приводишь указатель к integer, а потом присваиваешь ему значение. Единственное замечание: указатель - всегда целое положительное число, так что лучше приводить не к integer, а к cardinal.
Аватара пользователя
STAKANOV
энтузиаст
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение STAKANOV »

Только все это надо разарботчикам дельфинос говорить - что, как я понимаю, уже поздно.

Я было начала это дело править, но после первой интерации остановился. С записями и указателями на записи все просто. Там же в тексте для них уже были определены соответвующие типы (вроде p_sometype=^sometype, достаточно было просто тип поля записи поменять). А вот с перменными типа указатель они то как с указателями работают, то как с целыми числами. У меня такое подозрение, что они это чудо совсем не FPC собирали или надо какие-то специфические опции включить. Может настроение будет еще поэксперементирую. Жаль, что больше никто не пробовал. :(
Saemon Zixel
новенький
Сообщения: 78
Зарегистрирован: 20.09.2005 18:19:54
Откуда: Sochi

Сообщение Saemon Zixel »

Ща скачяю попробую

Если конечно скачяю <_<
Saemon Zixel
новенький
Сообщения: 78
Зарегистрирован: 20.09.2005 18:19:54
Откуда: Sochi

Сообщение Saemon Zixel »

Hi all
Кто-нибудь может обьяснить мне что это такое в конце процедуры и что оно делает?
procedure ignore_int; interrupt; [public, alias : 'IGNORE_INT'];

и ещё
function namei (path : pchar) : P_inode_t; [public, alias : 'NAMEI'];
{поскипано}
result := -EINVAL; {errno.inc : EINVAL=22}
тот каторый получет такой возврат, как он будет его обрабатывать?
Ну предположим ещё можно передать его как pointer, но чего ждёт тот кто вызвал эту функцию?

:blink: Да намудрили ребята
Ответить