Когда возникают сомнения в какой-нибудь конструкции языка C++, её лучше проверить не в одном, а в нескольких компиляторах. Только тогда можно понять вы не правы или компилятор. Но народ обычно проверять в других компиляторах ленится. Или проверяют на тех компиляторах, что случайно оказались под рукой, часто это компиляторы из одной линейки - VC++6.0 и VC++7.1, например.
Однако, есть возможность скомпилять небольшой кусок кода в онлайне. Вот тут: Comeau online. Получается плюс один к компилятор к тому, что у вас уже есть (если только вы не пользуетесь Comeau). К тому же Comeau знаменит тем, что очень щепетильно относится к Стандарту. Также Comeau online может пригодится, когда хочется проверить код с компьютера, на котором компилятора не оказалось, или с мобильного устройства. В дороге где-нибудь, например.
Updated 01.05.2008
В комментариях Симон Атанасян привел еще одну хорошую ссылку для проверки кода на сайте Dinkum Ware.
Updated 04.05.2008
Qbit дал ссылку на еще один компилятор. Это разработка отечественной компании Интерстрон.
My code::dive talk video is available: New Q&A
2 дня назад
9 коммент.:
Мой код не захотел компилироваться и тут:
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++ под винды). Причем, не только компиляцию, но и линковку.
Вот вам ещё один онлайн-компилятор:
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
Еще один онлайн компилятор http://ideone.com
Самое интересное в нем это поддержка около 40 языков.
Плюсы компилит с помощью gcc-4.3.4.
Отправить комментарий