понедельник, апреля 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 коммент.:

jia3ep комментирует...

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

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 объяснил почему этого не происходит, хотя я не согласен с его аргументами.

Олег Комов комментирует...

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

Сергей Семёнов комментирует...

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

Симон Атанасян комментирует...

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

Qbit комментирует...

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

Илья Решетнев комментирует...

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

Илья Решетнев комментирует...
Этот комментарий был удален автором.
Анонимный комментирует...

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

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

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

judzhin комментирует...

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