понедельник, апреля 28, 2008

Comeau online

Когда возникают сомнения в какой-нибудь конструкции языка C++, её лучше проверить не в одном, а в нескольких компиляторах. Только тогда можно понять вы не правы или компилятор. Но народ обычно проверять в других компиляторах ленится. Или проверяют на тех компиляторах, что случайно оказались под рукой, часто это компиляторы из одной линейки - VC++6.0 и VC++7.1, например.
Однако, есть возможность скомпилять небольшой кусок кода в онлайне. Вот тут: Comeau online. Получается плюс один к компилятор к тому, что у вас уже есть (если только вы не пользуетесь Comeau). К тому же Comeau знаменит тем, что очень щепетильно относится к Стандарту. Также Comeau online может пригодится, когда хочется проверить код с компьютера, на котором компилятора не оказалось, или с мобильного устройства. В дороге где-нибудь, например.

Updated 01.05.2008
В комментариях Симон Атанасян привел еще одну хорошую ссылку для проверки кода на сайте Dinkum Ware.

Updated 04.05.2008
Qbit дал ссылку на еще один компилятор. Это разработка отечественной компании Интерстрон.

9 комментариев:

  1. Мой код не захотел компилироваться и тут:

    namespace my
    {
    struct MMM
    {
    int x;
    };

    template<class T>
    void func(MMM * m) { m->x = 5;}
    }

    void gg()
    {
    my::MMM m;

    func<int>(&m);

    }

    Тут func должна вызываться по неймспейсу аргумента, т.е. из my, но этого не происходит. Как и в компиляторах VC++ и GNU C++.

    Jonathan Caves из Visual C++ Compiler Team объяснил почему этого не происходит, хотя я не согласен с его аргументами.

    ОтветитьУдалить
  2. Жалко нельзя загружать сразу несколько файлов, а так очень мало можно проверить, если только небольшие куски кода и все.

    ОтветитьУдалить
  3. Спасибо за ссылку.
    И все же мне хочется верить, что большинство имеет на машине более чем версии VC, как минимум еще, что-то из MinGW / Borland C++. Хотя более показательно, все же собрать на *nix/gcc, а может и на оборот, все зависит, кто под чем работает :о)

    ОтветитьУдалить
  4. Анонимный30/4/08 14:42

    Удобная штука, сам пользуюсь. А на сайте Dinkum Ware можно проверить код by EDG, Visual 4-8 и MINGW (порт g++ под винды). Причем, не только компиляцию, но и линковку.

    ОтветитьУдалить
  5. Вот вам ещё один онлайн-компилятор:
    http://www.interstron.ru/text.asp?id=2102
    Это отечественный компилятор, от самого Евгения Зуева.

    ОтветитьУдалить
  6. Хм, странно... компайлер от последнего обновление не знает хидера conio.h...

    ОтветитьУдалить
  7. Этот комментарий был удален автором.

    ОтветитьУдалить
  8. Анонимный9/3/09 17:58

    >> для проверки кода на сайте Dinkum Ware.

    я бы не стал "проверять" компилером от этой конторы.
    В QNX (ось такая,microKernel) жил был вполне нормальный компилятор GCC 2.95.3. Жил этот компилятор до версии QNX 6.1,а с 6.2 заменен на то же GCC, но стандартная билиотека была заменена на "поделие" этой фирмы.
    Проблемы с компиляцией,какие-то запутки с пространствами имен.

    ЗЫ на формуе qnx.org.ru фирму |вежливо| называли DRINKUM WARE

    ОтветитьУдалить
  9. Еще один онлайн компилятор http://ideone.com
    Самое интересное в нем это поддержка около 40 языков.
    Плюсы компилит с помощью gcc-4.3.4.

    ОтветитьУдалить