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