On 2012-10-09, yuri.nefe...@gmail.com wrote:
> On Tue, 9 Oct 2012, Oleksandr Gavenko wrote:
>
>> по ключевым словам:
>>
>> flexible array member
>>
>
> Речь шла не о flexible arrays, а о использовании structure/unit
> и о том, что поля в них могут хранится разрежено. По стандарту.
> И разме
On 2012-10-08, Dmitrii Kashin wrote:
> Eugene Berdnikov writes:
>
>> P.S. Аксакалы, может вам лучше 2гугл по девелоперские рассылки, пока
>> здесь молодёжь дебиан мусолит? :)
>
> Ну почему же. Я вот внимательно слежу за этим тредом и все читаю. Мне
> очень интересно.
>
> Вообще говоря, я соглас
On Tue, 9 Oct 2012, Oleksandr Gavenko wrote:
On 2012-10-08, Victor Wagner wrote:
Замечу, что в книге Кернигана и Ритчи "Язык программирования Си"
подобных фишек не описывалось. Виктор, Вы не подскажете, где можно
почитать о подобных трюках?
Есть очень хорошая книга Питера ван дер Линдена "Ex
On 2012-10-08, Victor Wagner wrote:
>> Замечу, что в книге Кернигана и Ритчи "Язык программирования Си"
>> подобных фишек не описывалось. Виктор, Вы не подскажете, где можно
>> почитать о подобных трюках?
>
> Есть очень хорошая книга Питера ван дер Линдена "Expert C programming".
> Там, насколько
Dmitry E. Oboukhov -> debian-russian@lists.debian.org @ Mon, 8 Oct 2012
18:26:09 +0400:
>> Э.. Насколько я знаю С, уже тут нехорошая вещь.
>> То чем вы пользуетесь есть расширение gcc
>> http://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
>> и как всякое расширение лучше им без необходимости
Dmitry E. Oboukhov -> debian-russian@lists.debian.org @ Mon, 8 Oct 2012
12:41:05 +0400:
DEO> имеется некая структурка
DEO> struct something {
DEO> ...
DEO> unsigned count;
DEO> unsigned element[0];
DEO> };
DEO> то есть в поле count сказано сколько элементов будет после стру
On Mon, 8 Oct 2012, Dmitry E. Oboukhov wrote:
#define SOMETING(__name, __size)\
struct {\
struct something s; \
unsigned items[__size]; \
} __attribute__((packed)) __name = {\
.s = {
08.10.2012 15:33, Dmitrii Kashin пишет:
> --- trick.c ---
> 1
> 2#include
> 3
> 4struct base
> 5{
> 6 int count;
> 7 int str[0];
> 8};
> 9
> 10int main(int argc, char** argv)
> 11{
> 12 int c;
> 13 printf("Inp
On 2012.10.08 at 19:55:59 +0400, Dmitrii Kashin wrote:
> Victor Wagner writes:
>
> >> Замечу, что в книге Кернигана и Ритчи "Язык программирования Си"
> >> подобных фишек не описывалось. Виктор, Вы не подскажете, где можно
> >> почитать о подобных трюках?
> >
> > Есть очень хорошая книга Питера
> alexander writes:
> Dmitrii Kashin пишет:
[…]
>> Вообще говоря, я согласен, что это не место для подобных дискуссий,
>> но Вы вот можете мне подсказать адреса рассылок, в которых, как
>> здесь, можно с грамотными людьми обсудить подобные вопросы?
> http://lmgtfy.com/?q=%D1%84%D0
Victor Wagner writes:
>> Замечу, что в книге Кернигана и Ритчи "Язык программирования Си"
>> подобных фишек не описывалось. Виктор, Вы не подскажете, где можно
>> почитать о подобных трюках?
>
> Есть очень хорошая книга Питера ван дер Линдена "Expert C programming".
> Там, насколько я помню, было
On Mon, 8 Oct 2012, Andrey Rahmatullin wrote:
On Mon, Oct 08, 2012 at 06:26:09PM +0400, Dmitry E. Oboukhov wrote:
Э.. Насколько я знаю С, уже тут нехорошая вещь.
То чем вы пользуетесь есть расширение gcc
http://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
и как всякое расширение лучше им без нео
а вот если появилась необходимость саллоцировать такой объект
статически, как быть?
>>>
>>> Завести union. С первым вариантом struct something и вторым - массивом
>>> требуемой длины. (учитывая sizeof(struct something).
>>
>> Элегантность этого решения настолько впечатлила меня, что я
> 16 union
> 17 {
> 18struct base body;
> 19int str[sizeof(struct base)+c];
> 20 } object;
тут может быть просто struct и тогда не надо будет sizeof(struct base)
вопрос как это в макрос засунть, чтобы потом функции которые хотят
указатель на struct base с этим работ
On Mon, Oct 08, 2012 at 06:26:09PM +0400, Dmitry E. Oboukhov wrote:
> > Э.. Насколько я знаю С, уже тут нехорошая вещь.
> > То чем вы пользуетесь есть расширение gcc
> > http://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
> > и как всякое расширение лучше им без необходимости не пользоваться.
>
> н
> Вообще говоря вопрос к Диме Обухову: какая цель
> в возможности задать размер массива во время компиляции?
> Меньше цпу? Сомнительно. Без профайлера не поверю.
> Экономия памяти? Ну совсем копейки.
> На большее фантазии у меня не хватает.
вообще это объекты которые правда аллоцируются динамичес
> Э.. Насколько я знаю С, уже тут нехорошая вещь.
> То чем вы пользуетесь есть расширение gcc
> http://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
> и как всякое расширение лучше им без необходимости не пользоваться.
ну бОльшая часть линукс кернела в этом стиле написана, так что имхо
пользоваться
On Mon, Oct 08, 2012 at 05:36:40PM +0400, Victor Wagner wrote:
> Кстати, тут пришло в голову еще одно решение - использовать alloca.
> Это не совсем статическая структура, а явное выделение памяти в стеке.
> Но тем не менее.
Человек просил портабельно, у alloca() с этим проблемы.
--
Eugene Berd
On Mon, 8 Oct 2012, Eugene Berdnikov wrote:
On Mon, Oct 08, 2012 at 03:42:40PM +0400, yuri.nefe...@gmail.com wrote:
Ho!
1) неименованные структуры - это опять же расширение
над ansiC. Если же именовать, то прийдется писать везде P.P
2) в вызове функции все равно прийдется писать P.P
Эта пр
On 2012.10.08 at 15:33:45 +0400, Dmitrii Kashin wrote:
> Victor Wagner writes:
>
> > On 2012.10.08 at 12:41:05 +0400, Dmitry E. Oboukhov wrote:
> >
> >> а вот если появилась необходимость саллоцировать такой объект
> >> статически, как быть?
> >
> > Завести union. С первым вариантом struct some
В Mon, 08 Oct 2012 16:38:59 +0400
Dmitrii Kashin пишет:
> Eugene Berdnikov writes:
>
> > P.S. Аксакалы, может вам лучше 2гугл по девелоперские рассылки,
> > пока здесь молодёжь дебиан мусолит? :)
>
> Ну почему же. Я вот внимательно слежу за этим тредом и все читаю. Мне
> очень интересно.
>
>
Eugene Berdnikov writes:
> P.S. Аксакалы, может вам лучше 2гугл по девелоперские рассылки, пока
> здесь молодёжь дебиан мусолит? :)
Ну почему же. Я вот внимательно слежу за этим тредом и все читаю. Мне
очень интересно.
Вообще говоря, я согласен, что это не место для подобных дискуссий, но
Вы
В Mon, 8 Oct 2012 16:00:13 +0400
Eugene Berdnikov пишет:
> On Mon, Oct 08, 2012 at 03:42:40PM +0400, yuri.nefe...@gmail.com
> wrote:
> > Ho!
> > 1) неименованные структуры - это опять же расширение
> >над ansiC. Если же именовать, то прийдется писать везде P.P
> > 2) в вызове функции все равн
On Mon, Oct 08, 2012 at 03:42:40PM +0400, yuri.nefe...@gmail.com wrote:
> Ho!
> 1) неименованные структуры - это опять же расширение
>над ansiC. Если же именовать, то прийдется писать везде P.P
> 2) в вызове функции все равно прийдется писать P.P
Эта проблема легко и просто решается препроцес
В Mon, 8 Oct 2012 15:46:18 +0400 (MSK)
yuri.nefe...@gmail.com пишет:
> On Mon, 8 Oct 2012, alexander wrote:
>
> > полиморфизм братюня)) полиморфизм.. лучше использовать class{:}}
> > хех)
>
> Полиморфизм на стадии компиляции?
> Или до конца письмо не дочитали?
>
> Ю.
да Сашога воще не пон
С канечя это оченъ гут) но Сашога не понимает, при чем тут debian? O_o
nospam!
--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20121008224843.29245...@omen.dyndns-ip.
On Mon, 8 Oct 2012, alexander wrote:
полиморфизм братюня)) полиморфизм.. лучше использовать class{:}} хех)
Полиморфизм на стадии компиляции?
Или до конца письмо не дочитали?
Ю.
On Mon, 8 Oct 2012, Dmitry E. Oboukhov wrote:
имеется некая структурка
struct something {
...
unsigned count;
unsigned element[0];
};
то есть в поле count сказано сколько элементов будет после структурки.
ну и обращение к ним идет так:
for (i = 0; i < s->count; i++) {
s->elements
Victor Wagner writes:
> On 2012.10.08 at 12:41:05 +0400, Dmitry E. Oboukhov wrote:
>
>> а вот если появилась необходимость саллоцировать такой объект
>> статически, как быть?
>
> Завести union. С первым вариантом struct something и вторым - массивом
> требуемой длины. (учитывая sizeof(struct som
В Mon, 8 Oct 2012 12:41:05 +0400
"Dmitry E. Oboukhov" пишет:
> имеется некая структурка
>
> struct something {
> ...
>
> unsigned count;
> unsigned element[0];
> };
>
> то есть в поле count сказано сколько элементов будет после структурки.
> ну и обращение к ним идет так:
>
> for
On 2012.10.08 at 12:41:05 +0400, Dmitry E. Oboukhov wrote:
> имеется некая структурка
>
> struct something {
> ...
>
> unsigned count;
> unsigned element[0];
> };
>
> то есть в поле count сказано сколько элементов будет после структурки.
> ну и обращение к ним идет так:
>
> for (i
On Mon, Oct 08, 2012 at 12:41:05PM +0400, Dmitry E. Oboukhov wrote:
> хочется макрос
>
> #define SOMETHING(name, size) ...
>
> чтобы пользователь мог сказать
>
> void foo(void) {
> static SOMETHING(name, 5);
> SOMETHING(name2, 10);
> }
>
> и получить саллоцированный на стадии компиляци
32 matches
Mail list logo