User Tag List

Показано с 1 по 10 из 180

Тема: 32-разрядный процессор, полностью совместимый с архитектурой PDP-11.

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Почему C-подмножество C++ это "С здорового человека" - небольшой пример
    Потому что есть фундаментальные свойства языка, а есть синтаксический сахар. Дефолтные значения - пример синтаксического сахара.
    И если добавить такие конструкции (удобства) в С - С++ окажется в ещё большем проигрыше.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    И если добавить такие конструкции (удобства) в С - С++ окажется в ещё большем проигрыше.
    О каком "проигрыше" речь, когда исходники обоих стандартов компилирует один и тот же компилятор, создающий из обоих вариантов один и тот же код, а разница только в удобстве синтаксиса у варианта C++.

    C-подмножество C++ - это и есть то самое добавление нормальной функциональности в кривоногий синтаксис ванильного C, без которого о нормальном программировании говорить сложно.

    Но помимо этого - при C-программировании на C++, появляется возможность использовать и некоторые простые "плюсы" расширенного стандарта. Хороший пример - задание начальных значений полей структур.

    Вариант ванильного C:
    Код:
    struct s {
        int one;
        int two;
    };
    
    struct s *pS1 = (struct s*) malloc( sizeof(s) );
    (*pS1).one = 1;
    (*pS1).two = 2;
    
    struct s *pS2 = (struct s*) malloc( sizeof(s) );
    (*pS2).one = 1;
    (*pS2).two = 2;
    Вариант здорового C ( т.е. C++ ):
    Код:
    struct s {
        int one;
        int two;
     
       s(): one(1), two(2) {}
    };
    
    struct s *pS1 = new s;
    struct s *pS2 = new s;

  4. #3

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    когда исходники обоих стандартов компилирует один и тот же компилятор
    Поделитесь компилятором с C++ на PDP-11?

  5. #4

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Поделитесь компилятором с C++ на PDP-11?
    Речь о кросс-компиляторе для Windows на базе LLVM. Для Windows, потому что (как мне показалось) на практике - Visual C++ компилирует гораздо эффективнее LLVM, вот почему проекты на базе LLVM выгоднее всего собирать не в среде LLVM, а под Windows в Visual C++.

  6. #5

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Речь о кросс-компиляторе для Windows
    Вот когда у Вас будет компилятор С++ для PDP-11 - тогда и продолжим разговор об удобстве и эффективности.
    А пока мне удобней писать на Macro-11 с набором макросов для структурированного программирования.

  7. #6

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Вот когда у Вас будет компилятор С++ для PDP-11 - тогда и продолжим разговор об удобстве и эффективности.
    Удобство синтаксиса не зависит от реализации - у "здорового C" синтаксис гораздо удобнее, чем у ванильного, а при компиляции одинаковых программ - код получается одинаковым.

    Можно внимательнее рассмотреть пример с начальными значениями полей структур. Возможно это не бросается в глаза, но нормальный оптимизирующий компилятор сгенерит из обоих исходников одинаковый код - разница будет только в том, что у "здорового C" в исходнике нет ручных присваиваний значений полям после создания каждой структуры - компилятор вставит нужный код сам, воспользовавшись информацией из описания структуры.

  8. #7

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    а при компиляции одинаковых программ - код получается одинаковым.
    Цитата Сообщение от Hunta Посмотреть сообщение
    Вот когда у Вас будет компилятор С++ для PDP-11 - тогда и продолжим разговор об удобстве и эффективности.
    А пока это рассуждение на тему - сколько ангелов уместиться на конце иглы. Нет компилятора под PDP-11 - о чём рассуждать?

  9. #8

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Нет компилятора под PDP-11 - о чём рассуждать?
    Не рассуждать, а рассказывать. Что есть два варианта языка C - менее удобный из ванильного стандарта и более удобный из C-подмножества стандарта C++.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Собрал комп полностью своими руками
    от scooby-do в разделе Зарубежные компьютеры
    Ответов: 15
    Последнее: 15.03.2025, 00:11
  2. Fuzebox - полностью открытая 8-битная игровая приставка
    от CityAceE в разделе Зарубежные компьютеры
    Ответов: 22
    Последнее: 09.03.2017, 15:35
  3. MSX и EPSON-совместимый принтер
    от ipkin в разделе MSX
    Ответов: 3
    Последнее: 01.12.2011, 19:23
  4. Ответов: 5
    Последнее: 20.06.2011, 03:18
  5. Куплю ZX совместимый компьютер.
    от billgilbert81 в разделе Барахолка (архив)
    Ответов: 19
    Последнее: 05.12.2008, 20:33

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •