Показать сообщение отдельно
Старый 04.09.2009, 11:49     # 8
Borland
СуперМод
IMHO Консультант 2005-2009
 
Аватар для Borland
 
Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 496

Borland - Гад и сволочь
Цитата:
Сообщение от Hubbitus Посмотреть сообщение
где и как выделяется память под массив argv...
Вообще-то она выделяется ОС до запуска собственно программы, что вполне логично. И принадлежит эта память, соответственно, системе, а не твоей программе.
Соответственно, SIGABRT - совершенно нормальное явление. Винда в таком случае говорит "Программа выполнила недопустимую операцию и будет закрыта". И это правильно - насколь мне известно, любая ОС может позволить приложению читать "чужую" память и даже писать туда, но не перераспределять её.
Т.е. если так необходимо перераспределить память под argv - необходимо не "решать" задачу в лоб, а ковырять API процесса-владельца на предмет заставить выполнять соответствующую задачу его.
Это насколько я помню основы системного программирования...
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила!
Распространенье наше по планете
Особенно заметно вдалеке:
В общественном парижском туалете
Есть надписи на русском языке

В. Высоцкий

Borland вне форума