Re: Rust
Il 03/06/2015 14:24, Gian Uberto Lauri ha scritto:
> onetmt writes:
> > > 1) il compilatore tiene traccia della "vita" dei dati e in fase di
> > > compilazione da errori se fai qualcosa di inconsistente (tipo usare
> > > della memoria dopo averla liberata).
> >
> > E quindi niente piu' SIGSEV? E che gusto c'e' :D
>
> (mapcar
> (lambda (a)
> (fai-qualcosa-su a))
> lista))
>
> Sinceramente in C semplice e C++ non hai molte possibilità per farlo.
Non e' difficile; basta dimenticare un malloc:
$ cat sigsev.c
#include <stdio.h>
#include <malloc.h>
int main(int argc, char* argv[])
{
int *iar;
int i;
for (i = 0; i < 3; i ++)
{
iar[i] = i;
printf("%f\n", iar[i]);
}
free(iar);
return 0;
}
$ ./sigsev
Errore di segmentazione
>
> E comunque, mi spiace per te che non hai mai visto i SIGBUS...
>
--
Hofstadter's Law:
"It always takes longer than you expect, even when you take into account
Hofstadter's Law."
Reply to:
- Follow-Ups:
- Re: Rust
- From: Federico Di Gregorio <fog@dndg.it>
- Re: Rust
- From: "Gian Uberto Lauri" <saint@eng.it>
- References:
- Rust
- From: Piviul <piviul@riminilug.it>
- Re: Rust
- From: Federico Di Gregorio <fog@dndg.it>
- Re: Rust
- From: onetmt <onetmt@gmail.com>
- Re: Rust
- From: "Gian Uberto Lauri" <saint@eng.it>