Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

заголовочный файл

3.2K
03 сентября 2006 года
Gazzy
38 / / 02.08.2006
подскажите, пожалуйста, как написать заголовочный файл. в особенности использование директив #ifndef и проч. Я в этом абсолютный тефаль!!! :))
16K
03 сентября 2006 года
koric
42 / / 06.08.2006
Код:
#define ___MY_DEBUG___
//макроопределение

#ifdef ___MY_DEBUG___
 //тут код который будет выполнен если было макрооопределение
#endif
  //просто код
#ifndef ___MY_BEDUG___
  //тут код, который будет выполнен если не было макроопределения
#endif

#undef ___MY_DEBUG___
//удалить макроопределение


и заголовочные файлы тут не причём, директивы можно использовать и в .cpp

заголовочный файл как правило содержит описания классов, и, иногда, некоторых их функций. такие файлы нужны если один класс используется в нескольких файлах .cpp (те же классы MFC)

Заголовочный файл включается в код директивой
 
Код:
#include "afxwin.h"
//вместо afxwin.h  - ваш заголовочный файл
3.2K
03 сентября 2006 года
Gazzy
38 / / 02.08.2006
Спасибо за ответ!! :) так я правильно понял, что если писать проект ручками, а не генерить с помощью Wizardов, то в принципе и необязательно писать заголовочный файл.
16K
03 сентября 2006 года
koric
42 / / 06.08.2006
необязательно писать свой, ну это удобнее, чем весь код вперемешку в одном файле. Чаще всего некоторые классы/функции/переменные будут использоваться в разных файлах .cpp их лучше всего поместить в .h
Кроме того, в заголовочных файлах содержится практически вся системная информация, даже в программе для командной строки, если она хоть что-то должна выводить потребуется включить заголовочный файл <iostream>, в WinAPI "windows.h" и в MFC "afxwin.h" (это минимум один в проекте)

В заголовочных файлах поддерживается прекомпиляция (precompiled header) - т.е. код заголовочного файла будет скомпилирован раньше основных модулей, что может значительно уменьшить размер готовой программы, если содержимое такого файла часто используется.

Вобщем такие файлы - нужная вещь, иначе их бы не было предусмотрено в языке.
350
04 сентября 2006 года
cheburator
589 / / 01.06.2006
[QUOTE=koric]код заголовочного файла будет скомпилирован раньше основных модулей, что может значительно уменьшить размер готовой программы, если содержимое такого файла часто используется.
[/QUOTE]
Да неужели? А по-моему это полная ерунда. Прекомпилированные заголовки просто ускоряют процесс компиляции.
Заголовочные файлы компилируются в первый раз, затем они не перекомпилируются, т. к. изменения в них вносятся сравнительно редко. Вот и всё.
3.2K
05 сентября 2006 года
Gazzy
38 / / 02.08.2006
значит все таки заголовкам быть!!! :)

еще один большой вопрос. если коротко: допустим меня попросили написать простую программу, прогу я написал, код вычистил до 0/0. заголовоки тоже переписал. проблема вот в чем - я ее написал в виде консольного приложения. что мне нужно сделать дальше, чтобы довести ее до стадии установки на компьютер пользователя? и как это делается?

предупреждал ведь ТЕФАЛЬ я? но хочу учиться!! :))
240
05 сентября 2006 года
aks
2.5K / / 14.07.2006
Что конкретно ты хочешь? Создать установщик, который распакует и установит твое консольно приложение пользователю? Если так - то просто использовать любой из имеющихся бесплатных инсталяторов.
350
05 сентября 2006 года
cheburator
589 / / 01.06.2006
Ага. А ещё в Visual Studio есть специальные Installer-проекты.
3.2K
05 сентября 2006 года
Gazzy
38 / / 02.08.2006
[QUOTE=aks]Создать установщик, который распакует и установит твое консольно приложение пользователю[/QUOTE]

именно это мне нужно. но я ни разу не пользовался этими инсталляторами, поэтому как это деланется не знаю? :(
240
05 сентября 2006 года
aks
2.5K / / 14.07.2006
Ну ставишь себе как нибудь инсталятор. Мне например нравится Inno Setup (http://www.innosetup.com).
А дальше там есть визард, который поможет создать нужный скрипт для инсталятора.
Скрипт можно писать и вручную, когда опыт появится в этом. Могу подкинуть доки по нему. А дальше по скрипту собирается дистрибутив.
Предусмотреть там можно все что нужно при установке на машину пользователя.
3.2K
06 сентября 2006 года
Gazzy
38 / / 02.08.2006
[QUOTE=aks] Могу подкинуть доки по нему.[/QUOTE]

если не затруднит (deu-18@yandex.ru)
заранее спасибо

а то что приложение консольное играет какую либо роль? в каком виде оно предстанет перед пользователем?
или его переделать под Win32 Application??
3.2K
07 сентября 2006 года
Gazzy
38 / / 02.08.2006
спасибо всем кто откликнулся на мой вопрос!!!! я скачал Inno Setup 517 и руссккую документацию. и уже попробовал написать простенький скриптик. :}
даже установил свою прогу на свой же комп. но вот при запуске на доли секунды возникает черное окошко а затем оно пропадает и все. это как я понимаю из-за того что приложение консольное? да? а что делать?
З.Ы. Я не чернышевский. ;)
240
07 сентября 2006 года
aks
2.5K / / 14.07.2006
Ну видимо потому, что консольное приложение выполнилось за доли секунды и завершило свою работу? Или оно как то по другому работает?

Ну раз документация есть - у себя искать не буду )
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог