עבור לתוכן

קוד C פשוט זורק Segmentation Fault בלינוקס

Featured Replies

פורסם

הי. אני מריץ קוד פשוט ביותר (פחות מ-100 שורות, בלי אלמנטים מיוחדים), בשפה C במערכת UBUNTU 14.04.

הקוד בקובץ המצורף.

מצורף כאן הלוג של הטרמינל של אובונטו בהפעלת הקוד:

 

$ make clean all run
rm -f debug *.o
gcc -c main.c -Iinclude/
gcc -c global.c -Iinclude/
gcc -c specific.c -Iinclude/
gcc -o debug main.o global.o specific.o
./debug
before init
glb ptr = 0x1045010
glb default x = 0
modify in main
make: *** [run] Segmentation fault (core dumped)
 

אשמח אם מישהו יוכל לעזור. תודה מראש!

economyd.zip

פורסם

Segmentation fault בדרך כלל אומר גישה לא חוקית לזכרון. דהיינו יש לך מצביע לזכרון לא חוקי, ואתה מנסה לגשת אליו (לדוגמה אם המצביע לא מאותחל או מצביע למקום ששוחרר ע"י free).

אם לא ברור לך איפה השגיאה אז תנסה להוסיף עוד הדפסות עזר. לחילופין, תשתמש בדיבאגר (gdb) כדי לראות בדיוק איפה השגיאה.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים