Re: libpthreads,libmpeg3 -> windows
- From
- Vladimir N. Oleynik ()
- To
- Boris Rudakov ()
- Date
- 2003-06-17T18:33:26Z
- Area
- CARBON.COPY
* Forwarded from area 'RU.UNIX.PROG'
From: "Vladimir N. Oleynik" <dzo@simtreas.ru>
Здарофъ, Boris
> >> Потому я и говорю: НЕ ИСПОЛЬЗУЙ эмулиционную часть CLib и делай
> >> полный качественный порт. И делай его РОДНЫМ компайлером, там хоть
> >> отследить обманки легче...
>
> VI> Просто интересно: stdio (fopen, fprintf, etc...) в твоём понимании
> VI> тоже эмуляционная часть ?
>
> ХА ! "В моем понимании" !
> Ты в RTL посмотри, как они сделаны !!!
Ну чего вы так раскричались?
Если некий продукт предназначен для разработки на C/C++, он обязан
иметь libc. Если оно криво - значить крив продукт. Один компилятор -
это только компилятор.
> 1. Все виндозные RTL ВЫНУЖДЕНЫ не использовать напрямую хэндлы (дескрипторы, в
> вашей терминилогии) реальных файлов. Виновны: функция stat (информацию в том
> виде, в котором она должна быть представлена, в винде получить невозможно) и
вы про fstat? И stat и fstat это сискол. Прекрасно эмулирующийся в DOS
по get_fcb() и ничего ужасного.
> несколько аналогичных. Плюс - принципиально разные коды различных флагов, типа
Коды на то и имеют символические имена...
> O_READ или же полное отсутствие других - O_BINARY. Итог - все RTL ведут
> внутренние массивы структур, в которых лежат реальные хендлы файлов и
> дополнительная информация для поддержки непреодолимых другими способами отличий
> API. Если ты откроешь (получишь извне) файл средствами API, ты никогда не
Смешение уровня никогда и нигде не дает хороших результатов.
Когда я говорю close(2), то fclose(stderr) тоже не вызывается. И что?
> сможешь его юзать средствами эмуляционного-юниксоидного слоя CLib. Для
> некоторых ситуаций предусмотрены средства включения новых хендлов во внутренние
> структуры RTL, но во всех компайлерах они разные.
Компайлерах?
> ЗЫЫ: И виноваты в этом засранстве, как ни странно, именно юниксоиды, требующие
> наличия определенных функций в составе стандартизированного CLib. А они
> полноценно - НЕРЕАЛИЗУЕМЫ. Сделать-то их сделали, но только для ЧАСТНЫХ СЛУЧАЕВ
> использования. Вот и получайте головняк при порте :)
Ну вы же понимаете (наверное), то табличка
Функция|Полноценная поддержка|
входит в доку по системе разрабоки, но настоящая правда
о часных случаев уже от комунити.
> таких простых и привычных вещах... Казалось бы - что может быть проще errno и
> stdout ?! А их НЕТУ ! Есть - обманки, работающие только в определенных частных
> случаях...
Голосуйте доларом :)
> ЗЫЫЫ: Но вот зато кроссплатформенные класс-либы нового поколения, рассчитанные
> И на современные юниксы И на НТю И на всякую экзотику типа QNx - действительно
> красивы и хорошо продуманы. API-то операционок похожи и результаты
> систематизации как сходств, так и отличий дают красивейшие обобщения. От
> CommonC++, j2k и нескольких аналогичных либ поменьше меня просто прет ! Их код
> действительно КРАСИВ и очень тонко нивелирует разницу систем, оперируя с
> родными API. Дас из фантастиш...
Так чего же вы на mingw/cygwin бочку катите? Молодой и бесплатный продукт.
Как могут так и делают.
--w
vodz
--- ifmail v.2.15dev5
* Origin: Ulyanovsk Treasury (2:5020/400)