Зачем они *.h
|
glassMonk
Сообщения: n/a |
Могли бы обьяснить зачем эти файлы я понимаю что туда выносять обявления функция но для чего, и если есть ссылки то дайте пожалуйста.
|
|
Отправлено: 05:46, 05-04-2003 |
Pascal 4ever Сообщения: 48
|
Профиль | Отправить PM | Цитировать если ты тоько начал программировать то объяснит будет довольно трудно.
такие файлы представляют собой своеобразные модули....(так unit в Pascal) туда записываются не тлько заголовки но и тела функций. на этапе компиляции эта самы тела переписываються в тело программы. после этого она компилируеться. Я сейчас точно не помню этапы компиляции по этому сори |
Отправлено: 06:09, 05-04-2003 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
glassMonk
Сообщения: n/a |
Смешно говорить но я не один месяц занимаюсь C.
А где о них можа прочитать. Хочу через них писать. Може хоть очень тяжело обьяснить все равно пойму. |
Отправлено: 06:21, 05-04-2003 | #3 |
Старожил Сообщения: 240
|
Профиль | Отправить PM | Цитировать glassMonk
Объяснить нетрудно - писать долго... Кратко говоря, это интерфейсная часть. Когда ты включаешь h-файл в c- или cpp-файл, компилятор узнаёт из него какие переменные и какого типа ты можешь использовать, какие функции можешь вызвать, какого типа значение они возвращают, сколько параметров и какого типа ожидают. Там могу быть объявлены классы и определены макросы. В общем это особенность языка программирования. В паскале каждый юнит может содержать две части: intreface и implementation (опустим initialization и finalization). Так сказать два в одном - и интерфейсная часть и исполняемая. А в си эти части разделили и стали писать в разных файлах: исполняемую в файлах с расширением c или cpp (вроде исодник), а интерфейсную в файлах с расширением h (наверное от header). Если чего ещё - стучись. Здесь или на мыло... |
------- Отправлено: 06:42, 05-04-2003 | #4 |
glassMonk
Сообщения: n/a |
привет shurikan fLANkeR
да тоесть к пирмеру а пишу в test.c главную main() а все остальные вынес в test.h, только в test.c #include "test.h" да я правильно понял? ps не нужа мне тут паралели спаскалем проводить. |
|
Отправлено: 08:40, 05-04-2003 | #5 |
Старожил Сообщения: 244
|
Профиль | Отправить PM | Цитировать Попробую я внести свою лепту...
Хедере ты объявляешь классы функции, а в модуле срр ты делаешь их реализацию - это можно назвать исходник. Так вот, ты потом можешь скомпилить h и срр - получешь obj - это тот же самый срр, но не в текстовом виде, а уже в двоичном. Допустим, ты написал библиотеку каких-то функций или компонентов, и решил продавать их но не хочешь чтоб все знали алгоритм твоих решений, так вот ты компилишь их, получаешь obj и поставляешь покупателю h, в котором он может посмотреть объявление твоих функций, классов, чтобы правильно их использовать, и поставляешь вместо срр - obj, так как obj двоичный файл, то никто уже не сможет посмотреть реализацию, тем самым ты как бы сохраняешь свое ноу-хау и такая поставка зовется - без исходников. |
------- Отправлено: 09:38, 05-04-2003 | #6 |
Старожил Сообщения: 240
|
Профиль | Отправить PM | Цитировать glassMonk
Мыслишь в правильном направлении. Этот test.h можно использовать в любом модуле, где будут использоваться функции, классы, переменные, макросы из test.c(pp), которые ты хотел бы, чтобы были использованы. В принципе, выражение [cjde]#include "test.h"[/code] может быть заменено на этом самом месте в тексте содержимым test.h |
------- Отправлено: 03:18, 06-04-2003 | #7 |
glassMonk
Сообщения: n/a |
Сразу вопрос Megabizon
Так я могу обектные файлы компилить и без *.h? Я как начал читать как другие пушут там такие конструкции выстраивают, c #if, #ifdef и тп. В кратьсе я понял, всем большое спасибо. |
Отправлено: 04:46, 06-04-2003 | #8 |
Старожил Сообщения: 240
|
Профиль | Отправить PM | Цитировать glassMonk
Цитата:
|
|
------- Отправлено: 07:07, 06-04-2003 | #9 |
glassMonk
Сообщения: n/a |
Всем спасибо. топик закрыт.
|
Отправлено: 07:38, 06-04-2003 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Зачем программисты пишут OpenSource, и на что они живут??? | Mr666 | Хочу все знать | 31 | 14-11-2010 20:51 | |
Разное - $RestoredActiveFile после NTBACKUP. Зачем они? | 9073 | Microsoft Windows 2000/XP | 0 | 08-11-2009 00:52 | |
Разное - папки ar-SA cs-CZ и тому подобные в папке SISTEM32. зачем они? | arkadiy68 | Microsoft Windows 7 | 4 | 25-06-2009 20:45 | |
Flash - Ось при загрузке зачем-то выполнила проверку флэшки. Зачем и почему? | Gromak | Накопители (SSD, HDD, USB Flash) | 3 | 19-11-2008 18:17 | |
Не хотят они........... | fooms | Непонятные проблемы с Железом | 12 | 23-06-2003 18:31 |
|