Есть кто с 64bit Workshop C compiler? шпиен, Michael Popov?

User avatar
A. Fig Lee
Уже с Приветом
Posts: 12072
Joined: 17 Nov 2002 03:41
Location: английская колония

Есть кто с 64bit Workshop C compiler? шпиен, Michael Popov?

Post by A. Fig Lee »

Solaris 9.

Народ, не дайте помереть нехрамотному.
Не компайлится с Workshop 5.0 в етом месте:

Code: Select all

char **h;

--> "zero or negative subscript"
Запускаю без всяких ключей. Нужны ли какие мандатори? target типа. Ктото шишки набивал уже? Может с ранмером поинтеров чтото завязано?
Верить нельзя никому - даже себе. Мне - можно!
User avatar
Boriskin
Уже с Приветом
Posts: 18906
Joined: 30 Aug 2001 09:01
Location: 3rd planet

Re: Есть кто с 64bit Workshop C compiler? шпиен, Michael Popov?

Post by Boriskin »

Не кисло... 8O Из общих побуждений - может заенфорсить ANSI C? И присвоить NULL...
Тупизна как Энтропия. Неумолимо растет.
User avatar
A. Fig Lee
Уже с Приветом
Posts: 12072
Joined: 17 Nov 2002 03:41
Location: английская колония

Re: Есть кто с 64bit Workshop C compiler? шпиен, Michael Popov?

Post by A. Fig Lee »

Boriskin wrote:Не кисло... 8O Из общих побуждений - может заенфорсить ANSI C? И присвоить NULL...


Тьфу! А ларчик просто открывался. :mrgreen:
gcc тоже отказался компилить. 8O :х
Оказалось, что у меня декларировано

Code: Select all

char **h_addr;


А в <netdb.h> на Solaris

Code: Select all

struct hostent{
....
 char **h_addr_list;
#define h_addr h_addr_list[0] /*for backward compatibility*/
};


В ресультате их "backward compatibility" получилась моя "present incompatibility"
Верить нельзя никому - даже себе. Мне - можно!
User avatar
Veselchak U
Уже с Приветом
Posts: 1787
Joined: 27 Nov 2002 05:24
Location: Sevastopol --> Ft. Lauderdale-->Boston-->Chicago

Post by Veselchak U »

Блин, вешать надо за такие хедера. Неужели нельза ввести приставки типа SUN_DB_blah... :pain1:
Michael Popov
Уже с Приветом
Posts: 991
Joined: 09 Sep 2001 09:01
Location: The Earth

Post by Michael Popov »

Veselchak U wrote:Блин, вешать надо за такие хедера. Неужели нельза ввести приставки типа SUN_DB_blah... :pain1:

Нельзя.
Разбор подробностей оставляем в качестве упражнения для читателей ;)
Best regards,

Michael Popov
User avatar
Veselchak U
Уже с Приветом
Posts: 1787
Joined: 27 Nov 2002 05:24
Location: Sevastopol --> Ft. Lauderdale-->Boston-->Chicago

Post by Veselchak U »

Михаил, а почему? Дайте хотя бы указание подрастающему поколению. :oops:
User avatar
Veselchak U
Уже с Приветом
Posts: 1787
Joined: 27 Nov 2002 05:24
Location: Sevastopol --> Ft. Lauderdale-->Boston-->Chicago

Post by Veselchak U »

Ага, товарищ профессор, это из-за backward compatability или еще есть засады?
Michael Popov
Уже с Приветом
Posts: 991
Joined: 09 Sep 2001 09:01
Location: The Earth

Post by Michael Popov »

Чтобы не приходилось впоследствии "продираться" сквозь такой код

Code: Select all

        last_pbuf = 
            pbuf_chunk_last (&q->pbq_private->pbpq_chunks[q->pbq_private->pbpq_n_chunks - 1]);

Все эти префиксы делают код нечитабельным.
Best regards,

Michael Popov
User avatar
Veselchak U
Уже с Приветом
Posts: 1787
Joined: 27 Nov 2002 05:24
Location: Sevastopol --> Ft. Lauderdale-->Boston-->Chicago

Post by Veselchak U »

Сразу чувствуется старая школа! Код нечитабелен, потому что имена надо уметь выбирать. Если имена переменных выбраны хорошо, то код читается очень нормально. IMHO, конечно. А то дело дойдет до того, что я в глобальном хедере объявлю переменные i and j, а все остальные индексы пусть counter-ами называют! :P
User avatar
Veselchak U
Уже с Приветом
Posts: 1787
Joined: 27 Nov 2002 05:24
Location: Sevastopol --> Ft. Lauderdale-->Boston-->Chicago

Post by Veselchak U »

Ну и за Венгерскую нотацию тоже, это... вешать надо... :x
blanko27
Уже с Приветом
Posts: 2264
Joined: 17 Jun 2003 04:41
Location: Just like US

Post by blanko27 »

Veselchak U wrote:Ну и за Венгерскую нотацию тоже, это... вешать надо... :x
А какие есть другие нотации? У нас в конторе правда применяют какие-то внутренние стандарты, но я бы не назвал их очень логичными. Обычно Венгерскую нотацию не любят за префиксы, но ведь правильный дизайн предполагает очень нечастое изменение интерфейсов, в том числе - и изменение типа аттрибутов, т.е. нет нужды изменять этот самый преславутый префикс. Также в настоящее время изменеие имени переменной в мегабайтах кода занимает секунды времени, т.к. применяются очень развитые средства IDE, поэтому изменеие префикса переменной мне не кажется настолько затруднительным, нет?
User avatar
CTAC_P
Уже с Приветом
Posts: 6789
Joined: 01 Jun 2001 09:01

Post by CTAC_P »

blanko27 wrote:А какие есть другие нотации?

А совсем без них нельзя?
User avatar
A. Fig Lee
Уже с Приветом
Posts: 12072
Joined: 17 Nov 2002 03:41
Location: английская колония

Post by A. Fig Lee »

В С еще нормально без нотаций, в С++ - трудна... Когда сам пишешь - ничё, все просто и понятно, чужой код 8O
Верить нельзя никому - даже себе. Мне - можно!
User avatar
constm
Уже с Приветом
Posts: 119
Joined: 17 Apr 2001 09:01
Location: moscow.ru

Post by constm »

A. Fig Lee wrote:В С еще нормально без нотаций, в С++ - трудна... Когда сам пишешь - ничё, все просто и понятно, чужой код 8O

в C++ придумали namespace.
и вообще, пользуйтесь нормальными IDE, где полно контекстных подсказок.
венгерскую нотацию забанили еще пару пятилеток назад. наберите в гугле "C++ coding standard"

Return to “Вопросы и новости IT”