Dla celów testowania chciałbym spowodować podział przez zero w moim C++. Napisałem ten kod:Jak spowodować celowy podział przez zero?
int x = 9;
cout << "int x=" << x;
int y = 10/(x-9);
y += 10;
Widzę "int = 9" wydrukowany na ekranie, ale aplikacja się nie zawiesza. Czy jest to spowodowane niektórymi optymalizacjami kompilatora (kompilowałem z gcc)? Jaki mógł być powód?
Dlaczego zamiast tego nie użyjesz 'abort()'? Inną opcją, której nie można zoptymalizować, jest zapis do wskaźnika NULL. –
@JanHudec W moim przypadku potrzebowałem konkretnie podziału przez zero. Był to wbudowany kod RT i chciałem odtworzyć zachowanie systemu z konkretnym rodzajem awarii. Takie rzeczy czasem się zdarzają, gdy badasz błędy w systemach wbudowanych. – FireAphis