| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > адрес внешней переменной в разных модулях |
| Автор: ubique 31.8.2011, 16:14 |
| Добрый день. Программа состоит из двух файлов - a.c и b.c. Функция main() определена в a.c. При этом, в обоих файлах есть declaration - extern char **environ. Почему, если сделать printf("environ = %#x", environ) в a.c и b.c, то у них показываются различные адреса? environ не изменяется ни в одном из файлов. Единственное - используется getopt(3), но getopt(3) если и влияет, то только на argv? P.S. Делаю аналог setproctitle |
| Автор: Cheloveck 31.8.2011, 16:34 |
| код в студию |
| Автор: ubique 31.8.2011, 16:34 |
| Пытаюсь воспроизвести проблему в минимальном виде, не получается. Видимо что-то все таки изменяет переменную и похоже это не getopt. Буду разбираться дальше. Добавлено через 6 минут и 14 секунд Разобрался, ошибка как и ожидалось была в коде. |