mike писал(а):Изначально мне хватило бы Assign(Txt, 'file.txt')/Reset(Txt), но обнаружилась досадная особенность -- открыть таким образом "живой" лог нельзя, не позволяет жестко зашитиый в Reset тип шаринга "1" (fmShareDenyWrite) для текстовых файлов.
mike писал(а): Вот еще актуальным вопрос о размерности Cardinal под 64-битными платформами остался...
32-битный он. В настоящее время. В прошлом был 64-бит, но по-видимому это вызывало излишне много проблем. 64 бита без знака - это QWord.
mike писал(а):но во-первых макрос $target в пути к библиотекам под FP (не FPC) не работает...
Макрос называется $FPCTARGET.
Кроме юнитов и библиотек нужен пакет binutils для целевой платформы. Но не для всех, например компиляция из Linux в Windows (т.к. для Windows линкер встроен в компилятор) обходится без них.
Вообще, на тему кросс-компиляции тут много чего понаписано, даже статьи.
Статистика: Добавлено mike — 09.06.2008 17:36:38
mike писал(а): Вот еще актуальным вопрос о размерности Cardinal под 64-битными платформами остался...
mike писал(а):но во-первых макрос $target в пути к библиотекам под FP (не FPC) не работает...
Статистика: Добавлено Sergei I. Gorelkin — 09.06.2008 16:08:29
shade писал(а):В любом случае нужно тестировать - в слепую будет очень трудно обеспечить кроссплатформность. Если нет возможности тестировать на нескольких платформах, то можно посоветовать просто сосредоточиться на едиственной доступной платформе, но использовать приемущественно заведомо кроссплаформные модули, библиотеки, чтобы облегчить портирование под другие платформы в случае если возникнет необходимость.
Списки можно продолжать, просто нужно искать, то что подходит для вашей задачи.
Статистика: Добавлено mike — 09.06.2008 14:01:13
Статистика: Добавлено shade — 09.06.2008 13:16:23
Статистика: Добавлено Иван Шихалев — 09.06.2008 11:46:27
Статистика: Добавлено Vadim — 09.06.2008 04:53:59
mike писал(а):И еще вопросы по типам данных. Проверить пока возможности нет. Размерность типа Cardinal всегда соотвествует разрядной сетке процессора? А Integer? А конструкция типа Pointer(Cardinal(Ptr)+Ofs) допустипа под экзотикой типа ARM/PPC (тут опять же вопрос розрядности Pointer)?
Разрядность Pointer имеют типы PtrInt и PtrUInt - соответственно знаковое и беззнаковые целые.
Всякие Pointer(Cardinal(Ptr)+Ofs) можно забыть как кошмарный сон. FPC умеет складывать и вычитать указатели и целые в любых комбинациях.
Статистика: Добавлено mike — 09.06.2008 01:10:02
Статистика: Добавлено Sergei I. Gorelkin — 09.06.2008 01:00:33
mike писал(а):Так вот неочевидно кто его использует (точнее, кто использует его и только его). Из того же SysUtils торчит масса виндовых "хвостов" (типа некоторых констант fmShare*), непонятно, будет ли под очередной платформой работать, например, FileSeek от конца файла.А вот еще мне нужно сделать truncate некоторому файлу, как сделать это кроссплатформенно?
NXP писал(а):PSSS В Linux с модулем Windows не получится скомпоновать программу.
Статистика: Добавлено mike — 09.06.2008 00:47:02
Статистика: Добавлено NXP — 09.06.2008 00:38:20
NXP писал(а):mike писал(а):(это ведь Pascal, а не C)
А почему в Pascal компилятор должен глотать ошибки?
Статистика: Добавлено mike — 09.06.2008 00:35:31
mike писал(а):(это ведь Pascal, а не C)
Статистика: Добавлено NXP — 09.06.2008 00:16:55
Статистика: Добавлено mike — 09.06.2008 00:09:15