Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C / C++

Выпуск № 240
от 22.04.2003, 20:10

Администратор:
Имя: Nick.Box
URL: Информационный ресурс
ICQ: 365124
[censored], [censored]
О рассылке:
Задано вопросов: 720
Отправлено ответов: 1595
Активность: 221.5 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Yuri Gordienko
Статус: Опытный
Общий рейтинг: 115.47
[Подробней >>]
Knignick
Статус: Начальный
Общий рейтинг: 118.18
[Подробней >>]
K0dMaster
Статус: Доверительный
Общий рейтинг: 120.41
[Подробней >>]
 
Ramzes
Статус: Опытный
Общий рейтинг: 129.07
URL: :))
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 108.02
[Подробней >>]
akul
Статус: Опытный
Общий рейтинг: 114.66
Телефон: +6019-6416245
[Подробней >>]
 
Avl2k
Статус: Опытный
Общий рейтинг: 123.84
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 714. Собираюсь Си изучать. Где взять компилятор, какой лучше?... (ответов: 3)
Вопрос № 715. Здравствуйте эксперты! Мучает меня один вопрос: есть функция из стандартной библиотеки, которая воз... (ответов: 6)

Вопросов: 2, ответов: 9


 Вопрос № 714

Собираюсь Си изучать.
Где взять компилятор, какой лучше?



Вопрос отправлен: 18.04.2003, 22:11
Отправитель: paulkan (paulkan@hotmail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Yuri Gordienko

Доброе время суток, paulkan!
Извечный вопрос... Смотря под что пишешь, - если под винду, то лучше всего поставить как среду разработки - Visual Studio .NET, а компилер заменить на Intel C++ 7.1 (на данный момент считается наиболее качественно оптимизирующим компилятором). Если пишешь под Линукс, то однозначно gcc.
Удачи


Ответ отправлен: 19.04.2003, 08:43
Отправитель: Yuri Gordienko


Отвечает Knignick

"На вопрос на такой", paulkan, однозначного ответа быть не может. Все зависит много от чего. Хотя бы от того под какую ось собираешься писать, есть ли уже опыт программирования, что именно тебя интересует C или и C++ и т.д. С другой стороны изучать ОСНОВЫ не все ли равно на каком компиляторе? Лично я реккомендую Visual C++ (быстрый компилятор, оптимальный код, соотвествует стандарту)

Ответ отправлен: 20.04.2003, 00:36
Отправитель: Knignick


Отвечает K0dMaster

Здравствуйте, paulkan!
Если чистый с то могу посоветовать lcc достаточно мощный компилятор причем халявный очень маленькой и с отчень хорошим отлдчиком причем все это дело под винду а взять его можно отсюда http://www.cs.virginia.edu/~lcc-win32/ либо по фтп ftp://ftp.cs.virginia.edu/pub/lcc-win32/lccwin32.exe

Ответ отправлен: 19.04.2003, 20:23
Отправитель: K0dMaster


 Вопрос № 715

Здравствуйте эксперты! Мучает меня один вопрос:
есть функция из стандартной библиотеки, которая
возвращает указатель на строку char * getenv(const char*).
Так вот, если в программе я обращусь к этой функции
char * res = getenv("test"), то как я понимаю мне вернется указатель на строку. Т.е. получается что эта функция выделяет под хранение память? И если это так, то как ее освободить?



Вопрос отправлен: 19.04.2003, 06:34
Отправитель: stranger (fmb2002@bk.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Yuri Gordienko

Приветствую Вас, stranger!
При сомнениях советую смотреть описание в хелпе. Конкретно об этой функции - ничего освобождать(как и модифицировать) нельзя.
Удачи

Ответ отправлен: 19.04.2003, 08:59
Отправитель: Yuri Gordienko


Отвечает Ramzes

Доброе время суток, stranger!
Нет, как я понял из исходного кода функции getenv(...), она не выделяет памяти под ету переменную;


Ответ отправлен: 19.04.2003, 14:09
Отправитель: Ramzes


Отвечает vitya

Приветствую Вас, stranger!
На самом деле она возвращает указатель на внутренний массив.
Как говорится в МСДН - ее изменять в ручную не надо. Лучше вызвать функцию _putenv().

Ответ отправлен: 19.04.2003, 11:05
Отправитель: vitya


Отвечает Knignick

Здравствуйте, stranger!
Освободить? Думаешь она будет себя "хорошо вести"? ;)
чтож попробуй: delete res; и посмотри, что из этого выйдет ;)
P.S.
Я не думаю, что функция выделят память - просто возвращает адрес, и лучше эту строчку(res) "не трогать".


Ответ отправлен: 20.04.2003, 00:46
Отправитель: Knignick


Отвечает akul

Доброе время суток, stranger!
Она вернет указатель на строку в памяти где собственно и храниться эта переменная окружения и ничего не выделяет. Следовательно ничего не надо и удалять.

Ответ отправлен: 21.04.2003, 03:34
Отправитель: akul


Отвечает Avl2k

Доброе время суток, stranger!
Функция возвращает указатель на элемент таблицы переменных окружения, адрес которой хранится в перемонной char** environ. Память под эту таблицу автоматически выделяется и освобождается библиотекой CRT, поэтому Вам ее освобождать не надо.
С уважением, Avl2k.

Ответ отправлен: 21.04.2003, 11:01
Отправитель: Avl2k



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (38)
C / C++ (30)
Perl (8)
Delphi (14)
Pascal (23)
Basic / VBA (9)
Java / JavaScript (11)
PHP (5)
MySQL / MSSQL (5)
Пользователю
Windows 95/98/Me (28)
Windows NT/2000/XP (22)
"Железо" (23)
Поиск информации (11)
Администратору
Windows NT/2000/XP (12)
Linux / Unix (12)
Юристу
Гражданское право (7)
Семейное право (4)
Трудовое право (4)
КоАП (4)

Отправить вопрос всем экспертам выбранной рассылки.




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное