#include <stdio.h>
int main(void)
{
int a=1;
int *pa=&a;
while (1) {
pa++;
printf("paddr=%p pval=%d\n",pa,*pa);
*pa=1;
}
return 0;
}
e sad .. pokusavao sam da za foru napisem program kojic e da prepise deo memorije nekim sr***em. Koliko se razumem OS ce da nadje mesto u memoriji za variablu a i tamu upise jedinicu (ili bilosta u dosegu int-a). i onda u onom infinite loopu uvecava pointer za jedno mesto dalje (8 bita ilo koliko vec zauzme jedan int) i na to mesto upise jos jednu jedinicu. i tako bi trebao do kraja memmmorije da pise jedinice dok ne zapuni svega. E sad naravno dobijem segfault, pa me zanima sta prozurucuje segfault? dali je u OS-u takav managment memorije da ne dozvoljava prepisivanje memorije aplikacije x sa strane aplikacije y (memorije rezervirane by x sa strane y)? ili je to nesto drugo?
pitam samo tako iz radoznalosti
http://www.mulaz.org/