Re: libpthreads,libmpeg3 -> windows

From
Valentin Nechayev ()
To
Boris Rudakov ()
Date
2003-06-13T09:41:42Z
Area
CARBON.COPY
 * Forwarded from area 'RU.UNIX.PROG'
From: Valentin Nechayev <netch@segfault.kiev.ua>


>>> Boris Rudakov wrote:

BR> Итог - все RTL ведут
BR> внутренние массивы структур, в которых лежат реальные хендлы файлов и
BR> дополнительная информация для поддержки непреодолимых другими способами отличий
BR> API. Если ты откроешь (получишь извне) файл средствами API, ты никогда не
BR> сможешь его юзать средствами эмуляционного-юниксоидного слоя CLib. Для
BR> некоторых ситуаций предусмотрены средства включения новых хендлов во внутренние
BR> структуры RTL, но во всех компайлерах они разные.
BR> 2. В Win32 ни stdin ни stdout ни stderr НЕТУ. Просто НЕТУ и все.

[...]

BR> ЗЫЫ: И виноваты в этом засранстве, как ни странно, именно юниксоиды,

НЕТ.
Если бы виндозники захотели, то этот маппинг unix handles <-> native handles
они бы вынесли на уровень WinAPI. Сделать это значительно легче, чем, например,
управление памятью, которое делается на этом же уровне.
Вывод прост - не сделали, потому что не хотели, чтобы оно давало нечто
большее, чем порт одной маленькой программки в пределах одной сборки.

На это показывает, кстати, и то, что пространство хэндлов сокетов
иное, чем RTLное, при совпадении имён функций (ещё одна диверсия).

BR> требующие
BR> наличия определенных функций в составе стандартизированного CLib. А они
BR> полноценно - НЕРЕАЛИЗУЕМЫ.

Неправда. Реализуемы. Точно так же как и WinAPI, которое почему-то;))
реализовано и работает. Просто надо было обеспечить стандартное место
их размещения, а не заставлять каждый компилятор делать свой загиб.
Почему-то;)) в юниксах не тащится своя libc для каждого компилятора.

BR> Впрочем, нам - тоже несладко. Юзаться CLib полноценно нельзя,

Скажите спасибо MS за ваше несчастное детство.

BR> ЗЫЫЫ: Но вот зато кроссплатформенные класс-либы нового поколения, рассчитанные
BR> И на современные юниксы И на НТю И на всякую экзотику типа QNx - действительно
BR> красивы и хорошо продуманы. API-то операционок похожи и результаты
BR> систематизации как сходств, так и отличий дают красивейшие обобщения. От
BR> CommonC++, j2k и нескольких аналогичных либ поменьше меня просто прет ! Их код
BR> действительно КРАСИВ и очень тонко нивелирует разницу систем, оперируя с
BR> родными API. Дас из фантастиш...

Теперь осталось заставить все промежуточные слои и все библиотеки использовать
только их. Задача такого же уровня, как загонка всех на одну CLib.


-netch-
--- ifmail v.2.15dev5
 * Origin: Dark side of coredump (2:5020/400)