Re: [OT] opaque pointer
>>>>> "AC" == Artem Chuprina <ran@ran.pp.ru> writes:
>>>>> Ivan Shmakov -> debian-russian@lists.debian.org:
[…]
AC> Но тем не менее, в _API_ libc определения FILE нет.
IS> Да, но это свойство документации, — не языка.
AC> Не библиотеки, скажем так. Это, гм, намек: если вы раскопали в
AC> хедерах определение FILE и начали им пользоваться - вы подложили
AC> грабли. Себе или тому, кто после вас будет это поддерживать.
… При этом, если конкретный тип действительно является
incomplete, то на этапе сборки получим диагностируемую
реализацией языка ошибку.
Что и происходит при использовании отдельных типов отдельных
библиотек. Но именно FILE из именно GNU Libc — не из их числа.
[…]
IS> Недокументированные типы, функции, переменные, etc. — возможны
IS> совершенно в любой среде программирования. В отличие от
IS> «непрозрачных».
AC> Начнем с того, что функции, типы и переменные, как
AC> недокументированные, так и документированные, возможны не в любой
AC> среде программирования :)
AC> А среди тех, где они возможны, я что-то не соображу ни одной, где
AC> невозможны "непрозрачные". Не подскажете?
ISTR, что отдельные «простые» интерпретаторы диалектов Lisp
позволяли интроспекцию «любых данных и в любую сторону».
Да, BCP в отношении передачи «непрозрачных» указателей «в Perl и
обратно» в свое время мне также найти не удалось.
[…]
--
FSF associate member #7257 np. Вселенская большая любовь — Гражданская Оборона
Reply to: