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

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

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

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

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

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

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

2012-10-09 Пенетрантность 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 и о том, что поля в них могут хранится разрежено. По стандарту. И размер дыры между

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

2012-10-08 Пенетрантность 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 Пенетрантность 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 Пенетрантность 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 = 0; i

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

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

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

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

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

2012-10-08 Пенетрантность 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++) {

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

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

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

2012-10-08 Пенетрантность 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:

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

2012-10-08 Пенетрантность 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 Пенетрантность 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 Пенетрантность alexander
В Mon, 8 Oct 2012 16:00:13 +0400 Eugene Berdnikov b...@protva.ru пишет: 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 Пенетрантность Dmitrii Kashin
Eugene Berdnikov b...@protva.ru writes: P.S. Аксакалы, может вам лучше 2гугл по девелоперские рассылки, пока здесь молодёжь дебиан мусолит? :) Ну почему же. Я вот внимательно слежу за этим тредом и все читаю. Мне очень интересно. Вообще говоря, я согласен, что это не место для подобных

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

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

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

2012-10-08 Пенетрантность Victor Wagner
On 2012.10.08 at 15:33:45 +0400, Dmitrii Kashin wrote: Victor Wagner vi...@wagner.pp.ru writes: On 2012.10.08 at 12:41:05 +0400, Dmitry E. Oboukhov wrote: а вот если появилась необходимость саллоцировать такой объект статически, как быть? Завести union. С первым вариантом struct

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

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

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

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

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

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

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

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

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

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

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

2012-10-08 Пенетрантность Ivan Shmakov
alexander toyman...@gmail.com writes: Dmitrii Kashin free...@gmail.com пишет: […] Вообще говоря, я согласен, что это не место для подобных дискуссий, но Вы вот можете мне подсказать адреса рассылок, в которых, как здесь, можно с грамотными людьми обсудить подобные вопросы?

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

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

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

2012-10-08 Пенетрантность Артём Н.
08.10.2012 15:33, Dmitrii Kashin пишет: --- trick.c --- 1 2#include stdio.h 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(Input

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

2012-10-08 Пенетрантность 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 = {