|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Kirill Smelkov 2:5030/885.37 23 Jun 2001 19:01:48 To : iNikolai Preminin Subject : Re: глюкавый gcc -------------------------------------------------------------------------------- Friday June 22 2001 22:58, you wrote to All: NP> Вот этот код приводит у меня к segmentation fault в случае если *init NP> идет перед номер,а не наоборот. Вообще-то всегда должно быть. core - это правильно. NP> #include <stdio.h> NP> int main() NP> { NP> char *pref,*init,*nomer,*hung,*nm; NP> nomer="240534"; NP> init="ATZ\r"; NP> pref="ATDT"; NP> hung="ATH0\r"; Дело в том, что init и nomer указывают на данные в сегменте только для чтения (.rodata) NP> strcpy(nomer,init); Соответственно из-за strcpy программа и получает SIGSEGV Достоверность моих слов можешь проверить с помощью отладчика - в gdb скажи info files и info locals при входе в main Kirill --- Gold Editor * Origin: *** Romantic Robot Station *** (2:5030/885.37) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/40323b34e94c.html, оценка из 5, голосов 10
|