Показать сообщение отдельно
Старый 04.09.2009, 13:31     # 9
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Борланд, не уверен что память под argv выделяется до запуска программы... Не в CRT это разве должно делаться?

Цитата:
Сообщение от Borland Посмотреть сообщение
И это правильно - насколь мне известно, любая ОС может позволить приложению читать "чужую" память и даже писать туда,
нет. Для непривелигированных приложений это не возможно, будет ошибка segmentation failed, в виндах что-то вроде ошибки "Память по адресу 0xFFFFFF" не может быть read (меня всегда веселило такое сообщение).

Цитата:
Сообщение от Borland Посмотреть сообщение
Т.е. если так необходимо перераспределить память под argv - необходимо не "решать" задачу в лоб, а ковырять API процесса-владельца на предмет заставить выполнять соответствующую задачу его.
Да нету процесса владельца-то (не, ну то-есть есть конечно, но стандартный шелл юзера скажем, не программный вроде exec). Хорошо, другой вопрос, как вариант решения - я копирую этот массив (не перераспределяю текущий), манипулирую с копией, а потом, просто изменяю указатель argv чтобы он указывал в новое место. Это-то изменение указателя будет легитимно?
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.

Последний раз редактировалось Hubbitus; 04.09.2009 в 13:34.
Hubbitus вне форума