![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
День |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 15.3.2005 Репутация: нет Всего: нет |
привет всем.
Есть такой код
дочерний процесс завершается с кодом 0 по сигналу 11 - ошибка обращения к памяти. дочерний процесс только один где у меня косяк? Я еще неопытен, потому прошу ногами больно не бить, если что ![]() буду рад любому мнению по поводу кода. |
|||
|
||||
comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: нет Всего: 17 |
Не разбирался, но скажу - strtok коряво реализована во многих *NIX-ах. У меня в ман-е написано:
Удачи! Юзай boost::tokenizer. Могу кинуть пример, если будет желание. |
|||
|
||||
oberonchik |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 26.11.2005 Репутация: нет Всего: нет |
не корректно так говорить -она реализована во-первых везде одинаково, а во-вторых не-коряво(насколько это и должно быть) просто она НЕ дла многопоточных приложений в многопоточных исользуют strtok_r которой если память не изменяет(лень лазить в man) надо передовать доп буфер (для её жизнедеятельности) |
|||
|
||||
День |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 15.3.2005 Репутация: нет Всего: нет |
Не поверите
![]() поменял new на malloc и ошибка исчезла! Когда стал тестировать программу на нескольких дочерних процессах, переписал strtok на strtok_r - и все ОК. подскажите boost на каких условиях распространяется и где ее можно скачать? |
|||
|
||||
AndrK |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 12.7.2006 Репутация: нет Всего: нет |
При выделении массива с помощью new, он должен удаляться как массив, а не как динамическая переменная...
char* buff=new char[10]; //... что-то делаем ... delete[] buff; Обрати внимание на последнюю строку... именно delete[], а не delete... З.Ы. Но это не должно давать ошибку обращения к памяти (хотя возможно я ошибаюсь), это просто первое что бросилось в глаза, если это пренципиально, то пройдись дебагером, узнаешь где прога вылетает... |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
http://www.boost.org/LICENSE_1_0.txt |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |