Re[6]: online compiler
От: rg45 СССР  
Дата: 04.04.06 14:00
Оценка: :))) :))) :)
"Bell" <3057@users.rsdn.ru> wrote in message news:1822075@news.rsdn.ru...
> Здравствуйте, rg45, Вы писали:
>
>
> R>Да тут я не увидел сразу, что здесь факториал то вычисляется. А для факториала уже при аргументе 13 происходит переполнение при вычислении 32-битного результата. Так что ошибка здесь связана не с глубиной заныра а с переполнением при вычислении константы времени компиляции.
>
> Замена умножения на сложение ситуацию не меняет:
>
>
> D:\soft\compiler\tmp\test.cpp.4 (1, 1): error 0332: Internal program error
> Excption:Unknown
> unknown exception!
>


Ну что можно сказать: вот написано там с самого начала "Hello, World !", значит так и надо компилировать, а не выдумывать всякие заморочки
Posted via RSDN NNTP Server 2.0
--
Справедливость выше закона. А человечность выше справедливости.
Re: online compiler
От: Шахтер Интернет  
Дата: 04.04.06 12:12
Оценка: +2 :))
Здравствуйте, night beast, Вы писали:

NB>в fido7.su.c-cpp ссылка проскочила

NB>http://www.interstron.ru/text.asp?id=2102

Вход.

#include <iostream>

using namespace std;

template <int N>
struct Fack
 {
  enum { Ret=N*Fack<N-1>::Ret };
 };

template <>
struct Fack<1>
 {
  enum { Ret=1 };
 };

int main()
 {
  cout << Fack<1000>::Ret << endl ;

  return 0;
 }


Выход.

Результаты компиляции и запуска
ANSI C++ Front-end Compiler & Virtual Machine, Version 3.0.
Copyright (c) 1998-2003, Interstron, Ltd.

*** C++ FrontEnd
D:\soft\compiler\tmp\test.cpp.4 (1, 1): error 0332: Internal program error
Excption:Unknown
unknown exception!

В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
online compiler
От: night beast СССР  
Дата: 04.04.06 11:34
Оценка: 19 (3)
в fido7.su.c-cpp ссылка проскочила
http://www.interstron.ru/text.asp?id=2102
Re[3]: online compiler
От: Bell Россия  
Дата: 04.04.06 12:46
Оценка: 15 (1)
Здравствуйте, night beast, Вы писали:

NB>ну, это известный ресурс. еще какие нибудь есть?

NB>хочется разнообразия

DinkumExam (VC7.0)
Любите книгу — источник знаний (с) М.Горький
Re[3]: online compiler
От: Lorenzo_LAMAS  
Дата: 04.04.06 13:45
Оценка: 10 (1)
NB>ну, это известный ресурс. еще какие нибудь есть?
NB>хочется разнообразия

http://www.dignus.com/dcxx/compileit.html
Of course, the code must be complete enough to compile and link.
Re[5]: online compiler
От: Bell Россия  
Дата: 04.04.06 13:46
Оценка: +1
Здравствуйте, rg45, Вы писали:


R>Да тут я не увидел сразу, что здесь факториал то вычисляется. А для факториала уже при аргументе 13 происходит переполнение при вычислении 32-битного результата. Так что ошибка здесь связана не с глубиной заныра а с переполнением при вычислении константы времени компиляции.


Замена умножения на сложение ситуацию не меняет:

D:\soft\compiler\tmp\test.cpp.4 (1, 1): error 0332: Internal program error
Excption:Unknown
unknown exception!
Любите книгу — источник знаний (с) М.Горький
Re[2]: online compiler
От: _DAle_ Беларусь  
Дата: 04.04.06 14:13
Оценка: +1
Здравствуйте, Кодт, Вы писали:

>> в fido7.su.c-cpp ссылка проскочила

>> http://www.interstron.ru/text.asp?id=2102

К>Для проверки синтаксиса можно пользоваться Комо-онлайн

К>www.comeaucomputing.com/tryitout
К>то же самое, но с более удобным фасадом — www.nixie.narod.ru/comeau (тсс! я этого не говорил!)

Для проверки кода на валидность лучше Комо нет, это понятно, но тут ведь существенное отличие есть: выполнение скомпилированного кода на виртуальной машине.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re[3]: online compiler
От: VoidEx  
Дата: 05.04.06 15:10
Оценка: :)
Здравствуйте, night beast, Вы писали:

NB>Здравствуйте, VoidEx, Вы писали:


VE>>


VE>>
VE>>int main()
VE>>{
VE>> std::cout << X<0>::res;
VE>>}
VE>>


NB>а что должно выводиться?

NB>
Ну, как бы ошибка, но не internal error =)
Re[2]: online compiler
От: rg45 СССР  
Дата: 04.04.06 12:22
Оценка:
"Шахтер" <23118@users.rsdn.ru> wrote in message news:1821738@news.rsdn.ru...
> Вход.
>
>
> #include <iostream>
> 
> using namespace std;
> 
> template <int N>
> struct Fack
>  {
>   enum { Ret=N*Fack<N-1>::Ret };
>  };
> 
> template <>
> struct Fack<1>
>  {
>   enum { Ret=1 };
>  };
> 
> int main()
>  {
>   cout << Fack<1000>::Ret << endl ;
> 
>   return 0;
>  }
>

>
> Выход.
>
>

> Результаты компиляции и запуска
> ANSI C++ Front-end Compiler & Virtual Machine, Version 3.0.
> Copyright (c) 1998-2003, Interstron, Ltd.
>
> *** C++ FrontEnd
> D:\soft\compiler\tmp\test.cpp.4 (1, 1): error 0332: Internal program error
> Excption:Unknown
> unknown exception!


Ну, я думаю, онлайновому компилеру можно простить, что 1000 для него силишком большое количество рекурентных инстанцирований.
При замене 1000 на 10 отрабатывает нормально. Хотя при 15 уже слетает
Posted via RSDN NNTP Server 2.0
--
Справедливость выше закона. А человечность выше справедливости.
Re: online compiler
От: Кодт Россия  
Дата: 04.04.06 12:23
Оценка:
> в fido7.su.c-cpp ссылка проскочила
> http://www.interstron.ru/text.asp?id=2102

Для проверки синтаксиса можно пользоваться Комо-онлайн
www.comeaucomputing.com/tryitout
то же самое, но с более удобным фасадом — www.nixie.narod.ru/comeau (тсс! я этого не говорил!)
Posted via RSDN NNTP Server 2.0
Перекуём баги на фичи!
Re[2]: online compiler
От: Pavel Chikulaev Россия  
Дата: 04.04.06 12:23
Оценка:
Здравствуйте, Шахтер, Вы писали:

Ш>

Ш>Результаты компиляции и запуска
Ш>ANSI C++ Front-end Compiler & Virtual Machine, Version 3.0.
Ш>Copyright (c) 1998-2003, Interstron, Ltd.


Они даже не знают, что ANSI не авторитет в мире C++
Re[3]: online compiler
От: Шахтер Интернет  
Дата: 04.04.06 12:35
Оценка:
Здравствуйте, rg45, Вы писали:

R>Ну, я думаю, онлайновому компилеру можно простить, что 1000 для него силишком большое количество рекурентных инстанцирований.

R>При замене 1000 на 10 отрабатывает нормально. Хотя при 15 уже слетает

Всё же хотелось бы получить адекватное сообщение об ошибке.
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[2]: online compiler
От: night beast СССР  
Дата: 04.04.06 12:39
Оценка:
Здравствуйте, Кодт, Вы писали:

>> в fido7.su.c-cpp ссылка проскочила

>> http://www.interstron.ru/text.asp?id=2102

К>Для проверки синтаксиса можно пользоваться Комо-онлайн

К>www.comeaucomputing.com/tryitout

ну, это известный ресурс. еще какие нибудь есть?
хочется разнообразия
Re[2]: online compiler
От: night beast СССР  
Дата: 04.04.06 12:45
Оценка:
Здравствуйте, Шахтер, Вы писали:

Ш>Здравствуйте, night beast, Вы писали:


NB>>в fido7.su.c-cpp ссылка проскочила

NB>>http://www.interstron.ru/text.asp?id=2102

Ш>Вход.


Ш>
Ш>#include <iostream>

Ш>using namespace std;

Ш>template <int N>
Ш>struct Fack
Ш> {
Ш> };

Ш>


а интересно, все стали его факториалом тестировать, или только мы вдвоем
Re[3]: online compiler
От: dupamid Россия  
Дата: 04.04.06 13:00
Оценка:
Здравствуйте, Pavel Chikulaev, Вы писали:

PC>Здравствуйте, Шахтер, Вы писали:


Ш>>

Ш>>Результаты компиляции и запуска
Ш>>ANSI C++ Front-end Compiler & Virtual Machine, Version 3.0.
Ш>>Copyright (c) 1998-2003, Interstron, Ltd.

PC>
PC>Они даже не знают, что ANSI не авторитет в мире C++

В смысле? ISO и ANSI стандарты С++ фактически один и тот же стандарт, у него только обложка разная.
Re[3]: online compiler
От: Кодт Россия  
Дата: 04.04.06 13:17
Оценка:
> Ну, я думаю, онлайновому компилеру можно простить, что 1000 для него силишком большое количество рекурентных инстанцирований.
> При замене 1000 на 10 отрабатывает нормально. Хотя при 15 уже слетает

Для Комо 1000 не проблема. Больше того, там где-то опция есть, управляющая глубиной заныра.
Posted via RSDN NNTP Server 2.0
Перекуём баги на фичи!
Re[4]: online compiler
От: rg45 СССР  
Дата: 04.04.06 13:24
Оценка:
"Кодт" <4783@users.rsdn.ru> wrote in message news:1821987@news.rsdn.ru...
> > Ну, я думаю, онлайновому компилеру можно простить, что 1000 для него силишком большое количество рекурентных инстанцирований.
> > При замене 1000 на 10 отрабатывает нормально. Хотя при 15 уже слетает
>
> Для Комо 1000 не проблема. Больше того, там где-то опция есть, управляющая глубиной заныра.

Да тут я не увидел сразу, что здесь факториал то вычисляется. А для факториала уже при аргументе 13 происходит переполнение при вычислении 32-битного результата. Так что ошибка здесь связана не с глубиной заныра а с переполнением при вычислении константы времени компиляции.
Posted via RSDN NNTP Server 2.0
--
Справедливость выше закона. А человечность выше справедливости.
Re: online compiler
От: Аноним  
Дата: 04.04.06 16:48
Оценка:
int main()
{
  while(true);
  return 0;
}


Результат:

Error
Compiler or virtual machine timeout!

Re: online compiler
От: alexeiz  
Дата: 04.04.06 17:12
Оценка:
Здравствуйте, night beast, Вы писали:

NB>в fido7.su.c-cpp ссылка проскочила

NB>http://www.interstron.ru/text.asp?id=2102

#include <iostream>
                int main()
                {
                std::cout << "Hello, world!" << std::endl;
                return main();
                }

У бедной машины стек переполнился за десяток другой вызовов:

ANSI C++ Front-end Compiler & Virtual Machine, Version 3.0.
Copyright (c) 1998-2003, Interstron, Ltd.

*** C++ FrontEnd

Warnings: 0
Errors : 0
Fatal : 0
RetCode : 0

*** VM execute
start program 'D:\soft\compiler\tmp\test.cpp.ir'

Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Fatal: INTERNAL ERROR!!!, Code: 7930232
Re[4]: online compiler
От: Pavel Chikulaev Россия  
Дата: 04.04.06 17:22
Оценка:
Здравствуйте, dupamid, Вы писали:

D>Здравствуйте, Pavel Chikulaev, Вы писали:


PC>>Здравствуйте, Шахтер, Вы писали:


Ш>>>

Ш>>>Результаты компиляции и запуска
Ш>>>ANSI C++ Front-end Compiler & Virtual Machine, Version 3.0.
Ш>>>Copyright (c) 1998-2003, Interstron, Ltd.

PC>>
PC>>Они даже не знают, что ANSI не авторитет в мире C++

D>В смысле? ISO и ANSI стандарты С++ фактически один и тот же стандарт, у него только обложка разная.

Я знаю Ну просто странно писать американский стандарт (они явно не попадут на тот рынок), когда есть международный.
Впрочем Borland свой компилятор также называла, а Microsoft c приходом Саттера только ISO/IEC.

ЗЫ Еще есть британский стандарт.
Re[5]: online compiler
От: VoidEx  
Дата: 04.04.06 22:53
Оценка:
#include <iostream>
template <bool Cond, typename Res>
class enable_if_c;

template <typename Res>
class enable_if_c<true, Res>
{
public:
 typedef Res result_type;
};

template <bool Cond, typename Res>
class disable_if_c;

template <typename Res>
class disable_if_c<false, Res>
{
public:
 typedef Res result_type;
};

template <unsigned int L, unsigned int R>
class greater
{
public:
 static bool const result = (L > R);
};

template <unsigned int I>
typename enable_if_c<greater<I, 5>::result, int>::result_type foo(int x) { std::cout << "g" << x << std::endl; return x - 1; }

template <unsigned int I>
typename disable_if_c<greater<I, 5>::result, float>::result_type foo(int x) { std::cout << "l" << x << std::endl; return float(x) + 0.5f; }

int main()
{
 std::cout << foo<7>(5) << std::endl;
 std::cout << foo<3>(7) << std::endl;
}

Ошибку выдал
Кстати, надо бы надыбать код, который Comeau вешал и туда его сунуть.
Re: online compiler
От: VoidEx  
Дата: 04.04.06 22:58
Оценка:


#include <iostream>
template <unsigned int I>
class X
{
public:
 static unsigned int const res = X<I + 1>::res + 1;
};

template <>
class X<15>
{
public:
 static unsigned int const res = X<0>::res + 1;
};

int main()
{
 std::cout << X<0>::res;
}

ANSI C++ Front-end Compiler & Virtual Machine, Version 3.0.
Copyright (c) 1998-2003, Interstron, Ltd.

*** C++ FrontEnd
D:\soft\compiler\tmp\test.cpp.4 (1, 1): error 0332: Internal program error
Excption:Unknown
unknown exception!
Re: online compiler
От: strcpy Россия  
Дата: 05.04.06 03:01
Оценка:
Здравствуйте, night beast, Вы писали:

NB>в fido7.su.c-cpp ссылка проскочила

NB>http://www.interstron.ru/text.asp?id=2102

Я у него в корневом каталоге файлы делал. И они там сохранялись Весь диск заполнять не стал, пожалел.
Удвой число ошибок, если не получается добиться цели.
Re[4]: online compiler
От: night beast СССР  
Дата: 05.04.06 04:33
Оценка:
Здравствуйте, Lorenzo_LAMAS, Вы писали:

NB>>ну, это известный ресурс. еще какие нибудь есть?

NB>>хочется разнообразия

L_L>http://www.dignus.com/dcxx/compileit.html


спасибо. тебе и Bell.
этот отвалился на глубине 36, EDG тоже.
VS не понимал static const int константы, но с рекурсией 100 справился.
такие вот наблюдения
Re[2]: online compiler
От: night beast СССР  
Дата: 05.04.06 04:39
Оценка:
Здравствуйте, VoidEx, Вы писали:

VE>


VE>
VE>int main()
VE>{
VE> std::cout << X<0>::res;
VE>}
VE>


а что должно выводиться?
Re[5]: online compiler
От: dupamid Россия  
Дата: 05.04.06 06:26
Оценка:
Здравствуйте, Pavel Chikulaev, Вы писали:

PC>>>Они даже не знают, что ANSI не авторитет в мире C++

D>>В смысле? ISO и ANSI стандарты С++ фактически один и тот же стандарт, у него только обложка разная.
PC>Я знаю Ну просто странно писать американский стандарт (они явно не попадут на тот рынок), когда есть международный.
PC>Впрочем Borland свой компилятор также называла, а Microsoft c приходом Саттера только ISO/IEC.

Имя ANSI для более или менее строго соответствия Стандарту общепринятая практика. Например словосочетания ANSI alias, strict ANSI complain, etc. По поводу MS вот ссылочка http://msdn2.microsoft.com/en-us/library/0k0w269d(VS.80).aspx на ключ /Za для Whidbey, там это тоже называется ANSI:

/Za flags language constructs not compatible with either ANSI C++ or ANSI C as errors.

Re[5]: online compiler
От: Lorenzo_LAMAS  
Дата: 05.04.06 07:08
Оценка:
NB>спасибо. тебе и Bell.
NB>этот отвалился на глубине 36, EDG тоже.
NB>VS не понимал static const int константы, но с рекурсией 100 справился.
NB>такие вот наблюдения

А что ты называешь EDG? Просто этот дигнус использует фронт энд ЕДГ, версии 3.04 или как там они их называют
Of course, the code must be complete enough to compile and link.
Re[2]: online compiler
От: alexeiz  
Дата: 05.04.06 07:34
Оценка:
Здравствуйте, strcpy, Вы писали:

S>Здравствуйте, night beast, Вы писали:


NB>>в fido7.su.c-cpp ссылка проскочила

NB>>http://www.interstron.ru/text.asp?id=2102

S>Я у него в корневом каталоге файлы делал. И они там сохранялись Весь диск заполнять не стал, пожалел.


Вроде не получается. ios exception выбрасывает.
Re[6]: online compiler
От: night beast СССР  
Дата: 05.04.06 07:48
Оценка:
Здравствуйте, Lorenzo_LAMAS, Вы писали:

NB>>спасибо. тебе и Bell.

NB>>этот отвалился на глубине 36, EDG тоже.
NB>>VS не понимал static const int константы, но с рекурсией 100 справился.
NB>>такие вот наблюдения

L_L>А что ты называешь EDG? Просто этот дигнус использует фронт энд ЕДГ, версии 3.04 или как там они их называют


тот который DinkumExam (EDG).
версию не написали.
Re[2]: online compiler
От: G_Roman http://www.interstron.ru
Дата: 05.04.06 08:00
Оценка:
Добрый день!

Online-компилятор на сайте www.interstron.ru уже несколько устарел. В ближайшее время мы планируем выложить на сайт новую версию.

Кроме того, в компании Интерстрон имеются вакансии для тех, кого интересует данная тема и кто желал бы принять участие в наших разработках.
Re[7]: online compiler
От: Lorenzo_LAMAS  
Дата: 05.04.06 08:19
Оценка:
Здравствуйте, night beast, Вы писали:

NB>Здравствуйте, Lorenzo_LAMAS, Вы писали:


NB>>>спасибо. тебе и Bell.

NB>>>этот отвалился на глубине 36, EDG тоже.
NB>>>VS не понимал static const int константы, но с рекурсией 100 справился.
NB>>>такие вот наблюдения

L_L>>А что ты называешь EDG? Просто этот дигнус использует фронт энд ЕДГ, версии 3.04 или как там они их называют


NB>тот который DinkumExam (EDG).

NB>версию не написали.

Версию едг в онлайн компиляторах проверять можно так :

template<int>class A{};

int main()
{
   A<__EDG_VERSION__>() = 0;
}


правда, это при условии, что определен __EDG_VERSION__ и в сообщении об ошибке будет сказано что- то вроде

no operator "=" matches these operands
operand types are: A<300> = int

, как я понимаю, не всегда срабатывает, даже если действительно используется фронт-энд ЕДГ.
Итак, у Димкуна довольно-таки старая версия ЕДГ.
Of course, the code must be complete enough to compile and link.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.