Re: [OT] opaque pointer

2014-10-08 Пенетрантность Artem Chuprina
yuri.nefe...@gmail.com - debian-russian@lists.debian.org @ Wed, 8 Oct 2014 01:25:38 +0400 (MSK): Впрочем, по сути это тот же самый хак, который позволяет void f (int n) { something var[n]; } y Почему же хак? Variable length array входят в стандарт С99. Потому что работает в

[OT] opaque pointer

2014-10-07 Пенетрантность Ivan Shmakov
AC == Artem Chuprina r...@ran.pp.ru writes: […] AC Называется этот прием непрозрачный указатель (opaque pointer), AC иногда говорят непрозрачная структура (opaque structure) и AC используется в хвост и в гриву, начиная с libc (FILE *). Зависит. Вот, к примеру, в [1] находим:

Re: [OT] opaque pointer

2014-10-07 Пенетрантность Artem Chuprina
Ivan Shmakov - debian-russian@lists.debian.org @ Tue, 07 Oct 2014 12:47:49 +: AC Называется этот прием непрозрачный указатель (opaque pointer), AC иногда говорят непрозрачная структура (opaque structure) и AC используется в хвост и в гриву, начиная с libc (FILE *). ISЗависит. Вот,

Re: [OT] opaque pointer

2014-10-07 Пенетрантность Денис Ильин
 Коллеги, sizeof вычисляется во время компиляции. Всегда.Денис 07.10.2014, 17:45, "Artem Chuprina" r...@ran.pp.ru:Ivan Shmakov - debian-russian@lists.debian.org  @ Tue, 07 Oct 2014 12:47:49 +: AC Называется этот прием "непрозрачный указатель" (opaque pointer), AC иногда говорят "непрозрачная

Re: [OT] opaque pointer

2014-10-07 Пенетрантность Денис Ильин
 Коллеги, sizeof вычисляется во время компиляции. Всегда.Денис 07.10.2014, 17:45, "Artem Chuprina" r...@ran.pp.ru:Ivan Shmakov - debian-russian@lists.debian.org  @ Tue, 07 Oct 2014 12:47:49 +: AC Называется этот прием "непрозрачный указатель" (opaque pointer), AC иногда говорят "непрозрачная

Re: [OT] opaque pointer

2014-10-07 Пенетрантность yuri . nefedov
On Tue, 7 Oct 2014, Денис Ильин wrote:  Коллеги, sizeof вычисляется во время компиляции. Всегда. Денис   Почему? В любом компиляторе? Факт состоит в том, что стандарт языка С не определяет этого = это просто практические наблюдения. Ю.

Re: [OT] opaque pointer

2014-10-07 Пенетрантность Dmitrii Kashin
yuri.nefe...@gmail.com writes: On Tue, 7 Oct 2014, Денис Ильин wrote:  Коллеги, sizeof вычисляется во время компиляции. Всегда. Денис Почему? В любом компиляторе? Ну, как тебе сказать... Эта штука принимает в качестве параметра _тип_. Поскольку с символами язык Си работать не умеет,

Re: [OT] opaque pointer

2014-10-07 Пенетрантность Artem Chuprina
Денис Ильин - Artem Chuprina @ Tue, 07 Oct 2014 18:01:30 +0400: ДИ  Коллеги, sizeof вычисляется во время компиляции. Всегда. Коллега, а никак нельзя сделать так, чтобы Ваши письма НЕ приходили 1) в ответ на то письмо, к которому они не относятся (хотя и относятся к той же теме дискуссии);

Re: [OT] opaque pointer

2014-10-07 Пенетрантность yuri . nefedov
On Tue, 7 Oct 2014, Dmitrii Kashin wrote: yuri.nefe...@gmail.com writes: On Tue, 7 Oct 2014, Денис Ильин wrote:  Коллеги, sizeof вычисляется во время компиляции. Всегда. Денис Почему? В любом компиляторе? Ну, как тебе сказать... Эта штука принимает в качестве параметра _тип_.

Re: [OT] opaque pointer

2014-10-07 Пенетрантность Ivan Shmakov
AC == Artem Chuprina r...@ran.pp.ru writes: Ivan Shmakov - debian-russian@lists.debian.org: […] IS Что как бы намекает на то, что FILE отнюдь не opaque. AC Как минимум, используется он как opaque. Хотя на практике он, AC скорее всего, тоже уже устоялся, не менялся дцать лет, и может быть

Re: [OT] opaque pointer

2014-10-07 Пенетрантность Artem Chuprina
Ivan Shmakov - debian-russian@lists.debian.org @ Tue, 07 Oct 2014 17:15:44 +: IS Что как бы намекает на то, что FILE отнюдь не opaque. AC Как минимум, используется он как opaque. Хотя на практике он, AC скорее всего, тоже уже устоялся, не менялся дцать лет, и может быть AC доступен

Re: [OT] opaque pointer

2014-10-07 Пенетрантность Artem Chuprina
yuri.nefe...@gmail.com - debian-russian@lists.debian.org @ Tue, 7 Oct 2014 21:13:08 +0400 (MSK):  Коллеги, sizeof вычисляется во время компиляции. Всегда. Денис Почему? В любом компиляторе? Ну, как тебе сказать... Эта штука принимает в качестве параметра _тип_. Поскольку с

Re: [OT] opaque pointer

2014-10-07 Пенетрантность yuri . nefedov
On Tue, 7 Oct 2014, Artem Chuprina wrote: y Что-то я вас не понимаю (с). y Сами же написали: «sizeof(int[n]) преобразуется в нечто y вроде n*sizeof(int)». Это n* и выполняется в run time. n* - да, а sizeof - нет. С чем ты споришь? Еще раз: int temp[n]; sizeof(temp);

Re: [OT] opaque pointer

2014-10-07 Пенетрантность yuri . nefedov
On Tue, 7 Oct 2014, Ivan Shmakov wrote: Смысл в том, что «непрозрачные указатели» C плохо совмещаются с такими средствами языка, как inline и #define. Вроде бы для inline должно все работать при правильном описании [1]. При вызова из другого файла будет работать как обычная

Re: [OT] opaque pointer

2014-10-07 Пенетрантность Ivan Shmakov
AC == Artem Chuprina r...@ran.pp.ru writes: Ivan Shmakov - debian-russian@lists.debian.org: […] AC Но тем не менее, в _API_ libc определения FILE нет. IS Да, но это свойство документации, — не языка. AC Не библиотеки, скажем так. Это, гм, намек: если вы раскопали в AC хедерах

Re: [OT] opaque pointer

2014-10-07 Пенетрантность Artem Chuprina
yuri.nefe...@gmail.com - debian-russian@lists.debian.org @ Tue, 7 Oct 2014 22:24:02 +0400 (MSK): y Что-то я вас не понимаю (с). y Сами же написали: «sizeof(int[n]) преобразуется в нечто y вроде n*sizeof(int)». Это n* и выполняется в run time. n* - да, а sizeof - нет. С чем ты

Re: [OT] opaque pointer

2014-10-07 Пенетрантность Artem Chuprina
yuri.nefe...@gmail.com - debian-russian@lists.debian.org @ Tue, 7 Oct 2014 23:03:24 +0400 (MSK): Смысл в том, что «непрозрачные указатели» C плохо совмещаются с такими средствами языка, как inline и #define. y Вроде бы для inline должно все работать при правильном описании [1].

Re: [OT] opaque pointer

2014-10-07 Пенетрантность Artem Chuprina
Ivan Shmakov - debian-russian@lists.debian.org @ Tue, 07 Oct 2014 19:05:53 +: IS Недокументированные типы, функции, переменные, etc. — возможны IS совершенно в любой среде программирования. В отличие от IS «непрозрачных». AC Начнем с того, что функции, типы и переменные, как AC

Re: [OT] opaque pointer

2014-10-07 Пенетрантность yuri . nefedov
On Wed, 8 Oct 2014, Artem Chuprina wrote: Впрочем, по сути это тот же самый хак, который позволяет void f (int n) { something var[n]; } Почему же хак? Variable length array входят в стандарт С99. Ю.