LINUX.ORG.RU

> ... размер выходного файла это не повлияло нисколько...

А должно?

k_andy ★★★
()

> Компилятору всё равно что компилить?

Компилятору - да, всё равно. А вот человеку - нет. В Linux kernel принято, что typedef можно делать для примитивных типов, и нельзя - для структурных. ИМХО, это здравый подход.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Кстати, вопрос... Есть такой общепринятый заголовочный файл, в котором уже указаны все typedef-ы для разных архитектур?

Типа таких:
int32
uint32
int64
...

HappyCoder
() автор топика
Ответ на: комментарий от tailgunner

>Компилятору - да, всё равно. А вот человеку - нет. В Linux kernel принято, что typedef можно делать для примитивных типов, и нельзя - для структурных. ИМХО, это здравый подход.

Ясно. Да, кажется это здравый подход. А почему именно они так решили? Можно же использовать какой-нибудь префикс. Например: s_, st_.

HappyCoder
() автор топика
Ответ на: комментарий от dilmah

static inline int ip_rcv_options(struct sk_buff *skb)
{
        struct ip_options *opt;
        struct iphdr *iph;
        struct net_device *dev = skb->dev;

        /* It looks as overkill, because not all
           IP options require packet mangling.
           But it is the easiest for now, especially taking
           into account that combination of IP options
           and running sniffer is extremely rare condition.
                                              --ANK (980813)
        */
        if (skb_cow(skb, skb_headroom(skb))) {
                IP_INC_STATS_BH(IPSTATS_MIB_INDISCARDS);
                goto drop;
        }

        iph = skb->nh.iph;

пример того, как struct "замусоривает" код ;)

Pi ★★★★★
()
Ответ на: комментарий от dilmah

> то есть слово struct не замусоривает, а префикс s_ замусоривает??

Именно так :) Кроме того, слово struct - это совершенно недвусмысленное указание на то, что тип - структурный, а s_ или st_ - всего лишь соглашение, не проверяемое компилятором.

Вообще-то вопрос следует ставить по-другому - зачем вводить соглашение, если без него можно обойтись?

tailgunner ★★★★★
()
Ответ на: комментарий от k_andy

>stdint.h

Вообще еще glib есть. Там тоже gint32, guint16, gint64 и пр.

xTERM ★★
()
Ответ на: комментарий от tailgunner

> VS7.x должен быть.

ну не помню я (давно было), но, кажись, в VC6 не было.

k_andy ★★★
()
Ответ на: комментарий от tailgunner

> Вообще-то вопрос следует ставить по-другому - зачем вводить соглашение, если без него можно обойтись?

Чуваааак, это называется развитие. В начале был бинарные кот, патом предумали соглашение - писать мнемо-инструкции, и назвали ассмеплером, патом придумали кучу разных соклашений - языков низкоуравневых фроде фортрана или ЦЭ, патом придумалли соклашения по опьектам, и стал смоллтолк, ЦеКрестКрест , ОбжективЦе и БорладПакакаль, и так далие..

Каштое нофае соклашение увеличивает слошность опучения с атной стараны, но оплегкачет поддержку окромных праектав с друкой.

anonymous
()
Ответ на: комментарий от shumer

> Ух ты, неандерталец рассуждает о программировании!

Ух ты, говорящая обезьяна

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.