а кто C хорошо знает?

2012-10-08 Thread Dmitry E. Oboukhov
имеется некая структурка struct something { ... unsigned count; unsigned element[0]; }; то есть в поле count сказано сколько элементов будет после структурки. ну и обращение к ним идет так: for (i = 0; i < s->count; i++) { s->elements[i] = i; } теперь когда мы это хотим саллоц

Re: а кто C хорошо знает?

2012-10-08 Thread Dmitry Nezhevenko
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); > } > > и получить саллоцированный на стадии компиляци

Re: а кто C хорошо знает?

2012-10-08 Thread Victor Wagner
On 2012.10.08 at 12:41:05 +0400, Dmitry E. Oboukhov wrote: > имеется некая структурка > > struct something { > ... > > unsigned count; > unsigned element[0]; > }; > > то есть в поле count сказано сколько элементов будет после структурки. > ну и обращение к ним идет так: > > for (i

Re: а кто C хорошо знает?

2012-10-08 Thread alexander
В Mon, 8 Oct 2012 12:41:05 +0400 "Dmitry E. Oboukhov" пишет: > имеется некая структурка > > struct something { > ... > > unsigned count; > unsigned element[0]; > }; > > то есть в поле count сказано сколько элементов будет после структурки. > ну и обращение к ним идет так: > > for

Re: а кто C хорошо знает?

2012-10-08 Thread Dmitrii Kashin
Victor Wagner writes: > On 2012.10.08 at 12:41:05 +0400, Dmitry E. Oboukhov wrote: > >> а вот если появилась необходимость саллоцировать такой объект >> статически, как быть? > > Завести union. С первым вариантом struct something и вторым - массивом > требуемой длины. (учитывая sizeof(struct som

Re: а кто C хорошо знает?

2012-10-08 Thread yuri . nefedov
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

Re: а кто C хорошо знает?

2012-10-08 Thread yuri . nefedov
On Mon, 8 Oct 2012, alexander wrote: полиморфизм братюня)) полиморфизм.. лучше использовать class{:}} хех) Полиморфизм на стадии компиляции? Или до конца письмо не дочитали? Ю.

Re: а кто C хорошо знает?

2012-10-08 Thread alexander
С канечя это оченъ гут) но Сашога не понимает, при чем тут 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.

Re: а кто C хорошо знает?

2012-10-08 Thread alexander
В Mon, 8 Oct 2012 15:46:18 +0400 (MSK) yuri.nefe...@gmail.com пишет: > On Mon, 8 Oct 2012, alexander wrote: > > > полиморфизм братюня)) полиморфизм.. лучше использовать class{:}} > > хех) > > Полиморфизм на стадии компиляции? > Или до конца письмо не дочитали? > > Ю. да Сашога воще не пон

Re: а кто C хорошо знает?

2012-10-08 Thread Eugene Berdnikov
On Mon, Oct 08, 2012 at 03:42:40PM +0400, yuri.nefe...@gmail.com wrote: > Ho! > 1) неименованные структуры - это опять же расширение >над ansiC. Если же именовать, то прийдется писать везде P.P > 2) в вызове функции все равно прийдется писать P.P Эта проблема легко и просто решается препроцес

Re: а кто C хорошо знает?

2012-10-08 Thread alexander
В 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) в вызове функции все равн

Re: а кто C хорошо знает?

2012-10-08 Thread Dmitrii Kashin
Eugene Berdnikov writes: > P.S. Аксакалы, может вам лучше 2гугл по девелоперские рассылки, пока > здесь молодёжь дебиан мусолит? :) Ну почему же. Я вот внимательно слежу за этим тредом и все читаю. Мне очень интересно. Вообще говоря, я согласен, что это не место для подобных дискуссий, но Вы

Re: а кто C хорошо знает?

2012-10-08 Thread alexander
В Mon, 08 Oct 2012 16:38:59 +0400 Dmitrii Kashin пишет: > Eugene Berdnikov writes: > > > P.S. Аксакалы, может вам лучше 2гугл по девелоперские рассылки, > > пока здесь молодёжь дебиан мусолит? :) > > Ну почему же. Я вот внимательно слежу за этим тредом и все читаю. Мне > очень интересно. > >

Re: а кто C хорошо знает?

2012-10-08 Thread Victor Wagner
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

Re: а кто C хорошо знает?

2012-10-08 Thread yuri . nefedov
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 Эта пр

Re: а кто C хорошо знает?

2012-10-08 Thread Eugene Berdnikov
On Mon, Oct 08, 2012 at 05:36:40PM +0400, Victor Wagner wrote: > Кстати, тут пришло в голову еще одно решение - использовать alloca. > Это не совсем статическая структура, а явное выделение памяти в стеке. > Но тем не менее. Человек просил портабельно, у alloca() с этим проблемы. -- Eugene Berd

Re: а кто C хорошо знает?

2012-10-08 Thread Dmitry E. Oboukhov
> Э.. Насколько я знаю С, уже тут нехорошая вещь. > То чем вы пользуетесь есть расширение gcc > http://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html > и как всякое расширение лучше им без необходимости не пользоваться. ну бОльшая часть линукс кернела в этом стиле написана, так что имхо пользоваться

Re: а кто C хорошо знает?

2012-10-08 Thread Dmitry E. Oboukhov
> Вообще говоря вопрос к Диме Обухову: какая цель > в возможности задать размер массива во время компиляции? > Меньше цпу? Сомнительно. Без профайлера не поверю. > Экономия памяти? Ну совсем копейки. > На большее фантазии у меня не хватает. вообще это объекты которые правда аллоцируются динамичес

Re: а кто C хорошо знает?

2012-10-08 Thread Andrey Rahmatullin
On Mon, Oct 08, 2012 at 06:26:09PM +0400, Dmitry E. Oboukhov wrote: > > Э.. Насколько я знаю С, уже тут нехорошая вещь. > > То чем вы пользуетесь есть расширение gcc > > http://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html > > и как всякое расширение лучше им без необходимости не пользоваться. > > н

Re: а кто C хорошо знает?

2012-10-08 Thread Dmitry E. Oboukhov
> 16 union > 17 { > 18struct base body; > 19int str[sizeof(struct base)+c]; > 20 } object; тут может быть просто struct и тогда не надо будет sizeof(struct base) вопрос как это в макрос засунть, чтобы потом функции которые хотят указатель на struct base с этим работ

Re: а кто C хорошо знает?

2012-10-08 Thread Dmitry E. Oboukhov
а вот если появилась необходимость саллоцировать такой объект статически, как быть? >>> >>> Завести union. С первым вариантом struct something и вторым - массивом >>> требуемой длины. (учитывая sizeof(struct something). >> >> Элегантность этого решения настолько впечатлила меня, что я

Re: а кто C хорошо знает?

2012-10-08 Thread yuri . nefedov
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 и как всякое расширение лучше им без нео

Re: а кто C хорошо знает?

2012-10-08 Thread Dmitrii Kashin
Victor Wagner writes: >> Замечу, что в книге Кернигана и Ритчи "Язык программирования Си" >> подобных фишек не описывалось. Виктор, Вы не подскажете, где можно >> почитать о подобных трюках? > > Есть очень хорошая книга Питера ван дер Линдена "Expert C programming". > Там, насколько я помню, было

Re: а кто C хорошо знает?

2012-10-08 Thread Ivan Shmakov
> alexander writes: > Dmitrii Kashin пишет: […] >> Вообще говоря, я согласен, что это не место для подобных дискуссий, >> но Вы вот можете мне подсказать адреса рассылок, в которых, как >> здесь, можно с грамотными людьми обсудить подобные вопросы? > http://lmgtfy.com/?q=%D1%84%D0

Re: а кто C хорошо знает?

2012-10-08 Thread Victor Wagner
On 2012.10.08 at 19:55:59 +0400, Dmitrii Kashin wrote: > Victor Wagner writes: > > >> Замечу, что в книге Кернигана и Ритчи "Язык программирования Си" > >> подобных фишек не описывалось. Виктор, Вы не подскажете, где можно > >> почитать о подобных трюках? > > > > Есть очень хорошая книга Питера

Re: а кто C хорошо знает?

2012-10-08 Thread Артём Н.
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

Re: а кто C хорошо знает?

2012-10-08 Thread yuri . nefedov
On Mon, 8 Oct 2012, Dmitry E. Oboukhov wrote: #define SOMETING(__name, __size)\ struct {\ struct something s; \ unsigned items[__size]; \ } __attribute__((packed)) __name = {\ .s = {

Re: а кто C хорошо знает?

2012-10-09 Thread Artem Chuprina
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 сказано сколько элементов будет после стру

Re: а кто C хорошо знает?

2012-10-09 Thread Artem Chuprina
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 >> и как всякое расширение лучше им без необходимости

Re: а кто C хорошо знает?

2012-10-09 Thread Oleksandr Gavenko
On 2012-10-08, Victor Wagner wrote: >> Замечу, что в книге Кернигана и Ритчи "Язык программирования Си" >> подобных фишек не описывалось. Виктор, Вы не подскажете, где можно >> почитать о подобных трюках? > > Есть очень хорошая книга Питера ван дер Линдена "Expert C programming". > Там, насколько

Re: а кто C хорошо знает?

2012-10-09 Thread yuri . nefedov
On Tue, 9 Oct 2012, Oleksandr Gavenko wrote: On 2012-10-08, Victor Wagner wrote: Замечу, что в книге Кернигана и Ритчи "Язык программирования Си" подобных фишек не описывалось. Виктор, Вы не подскажете, где можно почитать о подобных трюках? Есть очень хорошая книга Питера ван дер Линдена "Ex

Re: а кто C хорошо знает?

2012-10-09 Thread Oleksandr Gavenko
On 2012-10-08, Dmitrii Kashin wrote: > Eugene Berdnikov writes: > >> P.S. Аксакалы, может вам лучше 2гугл по девелоперские рассылки, пока >> здесь молодёжь дебиан мусолит? :) > > Ну почему же. Я вот внимательно слежу за этим тредом и все читаю. Мне > очень интересно. > > Вообще говоря, я соглас

Re: а кто C хорошо знает?

2012-10-09 Thread Oleksandr Gavenko
On 2012-10-09, yuri.nefe...@gmail.com wrote: > On Tue, 9 Oct 2012, Oleksandr Gavenko wrote: > >> по ключевым словам: >> >> flexible array member >> > > Речь шла не о flexible arrays, а о использовании structure/unit > и о том, что поля в них могут хранится разрежено. По стандарту. > И разме