Wpis z mikrobloga

@RedveKoronny: A to ciekawe bo mi gcc pokazuje

warning: ISO C++ forbids variable length array 't2' [-Wvla]


a clang

warning: variable length arrays are a C99 feature [-Wvla-extension]



note: read of non-const variable 'n' is not allowed in a constant expression
@RedveKoronny: Używaj kiedy to możliwe address/undefined sanitizer(komenda + to co wypisuje)

g++ main.cpp -fsanitize=address,undefined,leak;./a.out

AddressSanitizer:DEADLYSIGNAL
=================================================================
==22038==ERROR: AddressSanitizer: stack-overflow on address 0x7ffe8051f6f8 (pc 0x55fc1284dcfe bp 0x7ffe80d1e8f0 sp 0x7ffe8051e700 T0)
#0 0x55fc1284dcfe in main (/home/rafal/Pulpit/a.out+0x4cfe)
#1 0x7f27597f7d8f in _libcstartcallmain ../sysdeps/nptl/libcstartcallmain.h:58
#2 0x7f27597f7e3f in
libcstartmainimpl ../csu/libc-start.c:392
#3 0x55fc1284d484 in _start (/home/rafal/Pulpit/a.out+0x4484)

SUMMARY: AddressSanitizer: stack-overflow (/home/rafal/Pulpit/a.out+0x4cfe) in main
==22038==ABORTING
@RedveKoronny: Ja głównie używam sanitizera tylko z podstawowymi opcjami bo C++ nie jest moim głównym językiem w jakim programuje.
Teraz nie wyobrażam sobie tykać C/C++ bez sanitizera, bo pozwala to niemal natychmiast wykryć błędy, których podczas zwykłego używania programu nie znalazłbym nigdy
Te linki zawierają większość podstawowych informacji z jakich korzystam przy wybieraniu opcji.

https://clang.llvm.org/docs/AddressSanitizer.html
https://en.wikipedia.org/wiki/AddressSanitizer