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

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


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


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

Выпуск № 074
от 06.09.2002, 22:00

Администратор:
Имя: Коробов Н.А.
URL: Информационный ресурс
ICQ: 365124
Украина, Днепропетровск
О рассылке:
Задано вопросов: 220
Отправлено ответов: 459
Активность: 208.6 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе]


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

Dzik
Статус: Опытный
Общий рейтинг: 113.64
URL: Разработка игрушек
[Подробней >>]
FUHRER
Статус: Начальный
Общий рейтинг: 138.88
[Подробней >>]
kvINT
Статус: Профессиональный
Общий рейтинг: 111.28
Телефон: (34316)2-31-45
[Подробней >>]
 
Sensey
Статус: Профессиональный
Общий рейтинг: 129.23
URL: Страничка рассылки Паскаля...
Телефон: +38 (0572) 41-76-04 дом.
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 111.57
[Подробней >>]
Yuri Gordienko
Статус: Доверительный
Общий рейтинг: 132.14
[Подробней >>]
 
Vladimir
Статус: Опытный
Общий рейтинг: 113.47
Телефон: (08242) 43599 40099 раб 41255 дом
[Подробней >>]
Pablo
Статус: Профессиональный
Общий рейтинг: 132.01
URL: Моя страничка
[Подробней >>]
Jadd
Статус: Доверительный
Общий рейтинг: 151.51
[Подробней >>]
 
nix
Статус: Опытный
Общий рейтинг: 111.66
[Подробней >>]
Gibbel
Статус: Опытный
Общий рейтинг: 108.52
URL: Страничка обо мне и моих друзьях
[Подробней >>]


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

Вопрос № 216. Драсти эксперты! Что такое L значение? Всего наилучшего...!... (ответов: 8)
Вопрос № 217. Доброго времени суток товарищи программисты:)) Вопрос такой: что из себя представляет файл с расшире... (ответов: 8)
Вопрос № 218. Ситуация такая: ... int a; //Класс памяти auto int b=7; //Класс памяти static ... Так это или нет?... (ответов: 6)

Вопросов: 3, ответов: 22


 Вопрос № 216

Драсти эксперты!
Что такое L значение?
Всего наилучшего...!



Вопрос отправлен: 03.09.2002, 17:45
Отправитель: kuper

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

Отвечает Dzik

Добрый день, kuper!
А подробнее где такое?
Первое, что приходит в голову Low - младшая часть числа.

Ответ отправлен: 03.09.2002, 19:25
Отправитель: Dzik


Отвечает FUHRER

Доброе время суток, kuper!
по конкретнее плз
----
http://windows-reg.narod.ru


Ответ отправлен: 03.09.2002, 19:59
Отправитель: FUHRER


Отвечает kvINT

Здравствуйте, kuper!
Не знаю, что такое L-значение. Могу только предположить, что же ты спрашиваешь. 1) L, которое стоит, например, в таких выражениях, как printf ("%Lf...). В этом случае это означает тип данных long double. 2) (Скорее всего, ты это имел в виду) lvalue - от left value, "левостороннее значение". Означает, что переменная lvalue может стоять слева от знака присваивания. Константы, например, не могут, поэтому они являются rvalue. Т.е. написать a=10 можно, а наоборот нельзя. lvalue можно использовать как rvalue, но не наоборот.

Ответ отправлен: 03.09.2002, 23:32
Отправитель: kvINT


Отвечает Sensey

Приветствую Вас, kuper!
Ну если это постфикс в константе, то это означает, что константа длинная(long)
А ты че, участвуешь в конкурсе на самый короткий и непонятный вопрос? :)
Вроде уже давно и много вопросы задаешь, а вот такой туманный, что, как говорится, без поллитры не разобраться :)
Если бы не принял только что, не сообразил бы :)


Ответ отправлен: 03.09.2002, 18:15
Отправитель: Sensey


Отвечает vitya

Здравствуйте, kuper!
Юникод строка
wchar_t s[] = L"Hello ";

Ответ отправлен: 03.09.2002, 17:52
Отправитель: vitya


Отвечает Yuri Gordienko

Доброе время суток, kuper!
Я так понял, что ты имеешь в виду -L как директиву компилятора.
то
-L/home/test.a - включить конкретную библиотеку в проект
-L/home - путь, где искать библиотеки
А вообще дай man gcc - там все ключи хорошо описаны
Удачи!



Ответ отправлен: 03.09.2002, 23:50
Отправитель: Yuri Gordienko


Отвечает Vladimir

Здравствуйте, kuper!
Это тип Long, размер зависит от настроек компилятора, обычно занимает четыре байта.


Ответ отправлен: 04.09.2002, 09:30
Отправитель: Vladimir


Отвечает Pablo

Приветствую Вас, kuper!
Если ты меешь ввиду в смысле '0L', то это озачает, что число будет формата dword (32 бита). Для строки, например, L"string", это означает что строка создается с типом символа wchar_t.

Ответ отправлен: 05.09.2002, 09:35
Отправитель: Pablo


 Вопрос № 217

Доброго времени суток товарищи программисты:))
Вопрос такой: что из себя представляет файл с расширением
*.h (библиотека с прототипами функций) и как создать свою библиотеку?
У меня три эл. книжки по Си и в них об этом нечего не написанно, еше раз убеждаюсь, что самая лучшая электронная книжка- это печатная:))!
Раз 100 желал удачи и уверен 101 раз она не повредит!
(удача не бывает лишней, как впрочем и деньги:))!



Вопрос отправлен: 03.09.2002, 19:12
Отправитель: kuper

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

Отвечает FUHRER

Здравствуйте, kuper!
Это заголовочный файл(Header File).
А что в ней - открой и посмотри :)
----
http://windows-reg.narod.ru



Ответ отправлен: 03.09.2002, 20:04
Отправитель: FUHRER


Отвечает kvINT

Доброе время суток, kuper!
Открой любой такой файл и посмотри. Создать - пишешь этот файл, затем выбираешь "Save as" и сохраняешь его с расширением .h. Компилить его отдельно не надо, но не забудь инклюдить его к какому-нибудь своему .cpp, при его компиляции они вместе откомпилятся.

Ответ отправлен: 03.09.2002, 23:32
Отправитель: kvINT


Отвечает Yuri Gordienko

Доброе время суток, kuper!
*.h - это заголовочный файл, в котором описываются прототипы функций, классов, переменные(в том числе глобальные). Могут быть не только прототипы, но и реализации функций и классов. Короче записать в него можно все. Переменные, объявленные в нем напрямую будут видны в модулях, в которые ты его включишь директивой #include.
По поводу второго вопроса о способе создания библиотек, то все зависит от конкретного компилятора и операционной системы, также от того, какая библиотека тебе нужна - статическая или динамическая.
Например, создание статической библиотеки mix.a для Linux:
g++ -c -o digstr.o digstr.cpp #получили digstr.o
g++ -c -o calc.o calc.cpp #получили calc.o
ar -r mix.a digstr.o calc.o #запаковали в один файл
К проекту подключается директивой -L/path/mix.a компилятору

Для VisualC++,Delphi,CBuilder немного другое, - у них объявлены шаблоны на библиотеки, поэтому создаешь новый проект статической библиотеки, подключаешь к нему нужные тебе файлы, компилишь и имеешь *.lib
Насчет печатных книг, дык я тебе скажу, что в солидных дорогих книгах такой фигни точно не будет, т.к. подразумевается, что знания эти - элементарные.
Удачи!





Ответ отправлен: 03.09.2002, 23:47
Отправитель: Yuri Gordienko


Отвечает Jadd

Приветствую Вас, kuper!Файлы с расщирением *.h-заголовочные, в которых можно описывать прототипы функций, классы и прочее.Эти файлы ты включаешь в_свои исходники с расширением_*.срр .В остальном, это обычный текстовый файл, как и файл *.cpp


Ответ отправлен: 04.09.2002, 01:59
Отправитель: Jadd


Отвечает nix

Здравствуйте, kuper!
В заголовочном файле описаны процедуры, функции и константы.
описываются они просто, даже не нужно main().
Если ты постоянно используешь какие-то процедуры и функции, то лучше их поместить в какой-нибудь файл (обычно *.h), а потом "инклюдить" его в программе, которая использует эти функции. А по поводу печатных изданий - полностью с тобой согласен.
Успехов и Удачи!

Ответ отправлен: 04.09.2002, 05:06
Отправитель: nix


Отвечает Vladimir

Добрый день, kuper!
Это хидер (header). Обычно в него помещают константы, объявления, макросы и т.д. Создать его очень просто -- пишется ручками в любом текстовом редакторе, а затем в программе подключается (#include C:myheader.h).


Ответ отправлен: 04.09.2002, 09:42
Отправитель: Vladimir


Отвечает Gibbel

Доброе время суток, kuper!
По сути, *.h(*.hpp) ничем не отличается от *.c(*.cpp). Эти файлы введены для удобства - в них описываются функции и классы, используемые более чем в одном модуле.

Ответ отправлен: 04.09.2002, 10:20
Отправитель: Gibbel


Отвечает Pablo

Доброе время суток, kuper!
Ну как обычно этот файл содержит определения функций, структур, констант и макросов для твоей программы будь то DLL, или EXE.

Ответ отправлен: 05.09.2002, 09:32
Отправитель: Pablo


 Вопрос № 218

Ситуация такая:
...
int a; //Класс памяти auto
int b=7; //Класс памяти static
...
Так это или нет?



Вопрос отправлен: 03.09.2002, 19:38
Отправитель: kuper

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

Отвечает FUHRER

Здравствуйте, kuper!
нет
static int b;
----
http://windows-reg.narod.ru


Ответ отправлен: 03.09.2002, 19:55
Отправитель: FUHRER


Отвечает kvINT

Приветствую Вас, kuper!
Не так.
Класс памяти зависит не от того, проинициализирована переменная или нет, а от того, где она объявлена. Если объявлять переменные вне любой функции (проще говоря, до ф-ции main), они будут глобальными с классом памяти по умолчанию extern. Если объявить их в теле любой ф-ции (в том числе и main), они будут иметь класс памяти auto. Чтобы класс памяти переменной, объявленной в ф-ции, был static, его надо указать явно.

Ответ отправлен: 03.09.2002, 23:31
Отправитель: kvINT


Отвечает Yuri Gordienko

Добрый день, kuper!
Нет, это не так. В твоем случае b просто инициализируется цифрой 7, т.е.
int b=7;
и
int b;
b=7;
одно и тоже.
Спецификатор auto вышел из употребления, поэтому явно указывать его не имеет смысла. Спецификатор static производит единократное выделение памяти под переменную, поэтому при многократном обращении к данной переменной, например в рекурсивной функции, ты будешь обрашаться к одной и той-же переменной, без static такая переменная каждый раз будет новая.
Удачи!


Ответ отправлен: 03.09.2002, 23:47
Отправитель: Yuri Gordienko


Отвечает Jadd

Здравствуйте, kuper!
Плохо книги читаешь и зря экспертов отвлекаешь. Если переменная инициализирована, это не означает, что она статическая.Внимательнее читать надо!!!

Ответ отправлен: 04.09.2002, 02:03
Отправитель: Jadd


Отвечает nix

Добрый день, kuper!
Для того, что бы был static нужно:
const b=7;//подразумевается const int b=7.
Успехов!

Ответ отправлен: 04.09.2002, 04:59
Отправитель: nix


Отвечает vitya

Приветствую Вас, kuper!

В обоих случаях аuto, во втором случае, просто еще вызовется присваивание.

Ответ отправлен: 04.09.2002, 08:37
Отправитель: vitya



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

Внимание!
Форма может работать некорректно в почтовых программах "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 (39)
C / C++ (29)
Perl (9)
Delphi (15)
Pascal (25)
Basic / VBA (10)
Java / JavaScript (12)
PHP (9)
MySQL / MSSQL (10)
Пользователю
Windows 95/98/Me (40)
Windows NT/2000/XP (27)
"Железо" (37)
Поиск информации (12)
Администратору
Windows NT/2000/XP (14)
Linux / Unix (16)
Юристу
Гражданское право (10)
Семейное право (6)
Трудовое право (8)
КоАП (5)

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




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

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

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

В избранное