Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Зачем нужно писать *.h файлы

Ответить
Настройки темы
Зачем нужно писать *.h файлы

Пользователь


Сообщения: 135
Благодарности: 0

Профиль | Отправить PM | Цитировать


Я уже 2 дня как начал осваивать этот великий и могучий язык, но некоторые вещи до меня не доходят.

Допустим я создал несколько функций.
Продублировал их определение в *.h
(Но я очень туп и сразу написать то что надо не могу)
Поэтому решил их изменить. Потом еще и еще...
И каждый раз нужно искать все это в *.h файлах чтобы востановить соответвие.
Когда это проделываешь несколко раз, то возникает мягко говоря легкое раздражение.

Неужели нельзя как то упростить.
Я понимаю что хидер файлы нужны компилятору, линкеру, или еще хрен знает чему, но почему человек то должен набирать два раза одно и тоже?
Где обещанная красота и лаконичность С++?
В конце концов почему не создать небольшую утилиту которая бы парсила *.cpp и автоматом выдирала бы определения в *.h, и затем подавала бы все это вместе компилеру?
Такая утилита имхо не очень сложна в реализации.
И почему такие очевидные вещи не пришли еще кому-то в голову.
Или я чего-то не понимаю? Так объясните...

Отправлено: 01:27, 07-09-2003

 

Аватара для bgg0408

Модер Железа


Сообщения: 1557
Благодарности: 3

Профиль | Сайт | Отправить PM | Цитировать


to bilytur
Можно и юез хеадер-файла. Компилятору он НЕ нужен
Предположим, Вы пишите прогу из двух С файлов. В одном из них хотите использовать функции другого, но дублировать их описания в обоих файлах влом. Вот здесь может пригодится H-файл. Описываем функцию в этом файле, подключаем к обоис С и кайфуем
Прогу для ывдирания писать НЕ надо. Просто надо хеадеры писать

[s]Исправлено: bgg0408, 2:45 7-09-2003[/s]

-------
FreeBSD - forever


Отправлено: 01:44, 07-09-2003 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Megabizon

Старожил


Сообщения: 244
Благодарности: 1

Профиль | Отправить PM | Цитировать


Никто тебе не запрещает писать реализацию и объявление в одном файле. Просто это как бы стандарт - разработчиков много и чтобы не было какой-либо путаницы делают так. Здесь эта тема уже обсуждалась, посмотри здесь
http://forum.oszone.net/topic.cgi?fo...&topic=424

[s]Исправлено: Megabizon, 19:35 7-09-2003[/s]

-------
С уважением


Отправлено: 18:34, 07-09-2003 | #3


Пользователь


Сообщения: 135
Благодарности: 0

Профиль | Отправить PM | Цитировать


Не мужики я понял что декларации нужны. В одном ли файле или в разных сути это не меняет. Я не понял зачем вообще их нужно писать. Вернее почему это нужно делать вручную.

Еше раз вкратце, идея такая,  допустим есть файл:

>---------file.cpp
#include "file.h"
int main(){
//...
func1(a,b,c);
func2(a,b,c,);
func3(a,b,c);
}

void  func1(int a , int b, int c){
//...
}
void  func2(int a , int b, int c){
//...
}
void  func3(int a , int b, int c){
//...
}
<---------eof

Запускаем нашу утилитку например так:
cpp2h   *.cpp   *.h

Получаем:
>---------file.h
int main();
void func1(int a , int b, int c);
void func2(int a , int b, int c);
void func3(int a , int b, int c);
<---------eof
Кстати строчку #include "file.h" можно добавлять куда угодно как обычно.

После этого ты вдруг понял что func1() должна возвращать значение, у func2() должно быть 4 аргумента, func3() вобще не нужна, а нужны func7() и func8()
ok. Изменяешь только один раз один файл: file.cpp и ВСЕ!

А если нашу утилитку запускать автоматически каждый раз перед компиляцией то можно кайфовать вобще всю оставшуюся жизнь.

зы: На этапе разработки это дело бы имхо сильно упростило бы написание. Ну а если дело дойдет до продажи *.obj. Там можно и вручную подкоректировать h-файлы. Вставить копирайты там и.т.д.

зызы: Возможно здесь закралась какя-то  ошибка?
зызызы: А может уже давно кто-то написал что-то подобное?

Отправлено: 03:24, 08-09-2003 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Зачем нужно писать *.h файлы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] 2 вопроса непонятно зачем это нужно vladimirn Хочу все знать 12 25-01-2010 10:08
Зачем нужно обновление KB928416? Michael Хочу все знать 4 29-11-2009 03:06
Защита информации - зачем это нужно Greyman Хочу все знать 11 29-08-2009 18:21
[решено] Зачем такое нужно? Trix Оптические приводы 1 29-02-2008 18:46
Зачем нужно делать несколько проходов (passes)? shmond Видео и аудио: обработка и кодирование 13 12-04-2007 09:28




 
Переход