|
Заголовочные файлы и модули., Как правильно? |
|
|
|
 |
Ответов
|
Jan 1 2018, 05:55
|

Местный
  
Группа: Свой
Сообщений: 401
Регистрация: 7-05-10
Из: Оренбург
Пользователь №: 57 135

|
Разобрав несколько примеров сделал попытку переделать один из своих проектов, разделив свои заголовочные файлы на .c и .h. Как только я это сделал с одним файлом компилятор сразу же "потерял" функции в других заголовочных файлах, которые я не изменял. По "пыжившись" без результатов вернул всё в исходное состояние, вероятно нужно начинать эти "эксперименты" в новых учебных проектах. И всё же, может не стоит это делать, особенно самоучкам? Размещая функции в заголовочных файлах директива #include на них объявляется только в основном файле .c проекта. При разделении на модули приходится гадать, где и какие объявлять директивы #include, при разборе примеров я, честно говоря, не смог постичь логику их объявления.
--------------------
Лень, оттвори дверь, сгоришь - а хоть и сгорю, но не оттворю.
|
|
|
|
|
Jan 1 2018, 07:42
|
Гуру
     
Группа: Свой
Сообщений: 2 223
Регистрация: 3-03-06
Из: Tomsk
Пользователь №: 14 925

|
Цитата(Smoky @ Jan 1 2018, 12:55)  Разобрав несколько примеров сделал попытку переделать один из своих проектов, разделив свои заголовочные файлы на .c и .h. Как только я это сделал с одним файлом компилятор сразу же "потерял" функции в других заголовочных файлах, которые я не изменял. Лучше приложите файлы, тогда можно подсказать чего не хватает. В общем случае, надо понимать, что .h-файлы сделаны для так называемой "изоляции кода", т.е. они описывают интерфейс доступа к вашему .c-файлу. Чтобы пользователь .c-файла (или скомпилированной библиотеки функций в виде .dll или .ld) не копался в вашем исходном коде(если он есть), а открыв .h-файл узнал какие функции есть и как ими пользоваться, а компилятор знал как на эти функции сослаться.
|
|
|
|
|
Jan 1 2018, 07:55
|

Местный
  
Группа: Свой
Сообщений: 401
Регистрация: 7-05-10
Из: Оренбург
Пользователь №: 57 135

|
Цитата(HardEgor @ Jan 1 2018, 13:42)  Лучше приложите файлы, тогда можно подсказать чего не хватает. В проекте 17 заголовочных файлов и это только половина... К тому же я всё вернул в исходное, может и не корректное но рабочее состояние.
--------------------
Лень, оттвори дверь, сгоришь - а хоть и сгорю, но не оттворю.
|
|
|
|
Сообщений в этой теме
Smoky Заголовочные файлы и модули. Dec 30 2017, 17:11 sigmaN Думаю что эти функции потерял не компилятор, а лин... Dec 30 2017, 20:01 Smoky Цитата(sigmaN @ Dec 31 2017, 02:01) Думаю... Dec 31 2017, 06:39 Baser Пару раз встречал расположение функций в файлах .h... Dec 30 2017, 22:52 dxp Помещение определений встраиваемых функций (inline... Dec 31 2017, 10:21 gosha-z Цитата(dxp @ Dec 31 2017, 13:21) Помещени... Dec 31 2017, 12:54  Сергей Борщ QUOTE (gosha-z @ Dec 31 2017, 14:54)... Dec 31 2017, 16:33   gosha-z Цитата(Сергей Борщ @ Dec 31 2017, 19:33) ... Dec 31 2017, 19:00 sigmaN Так вы логики в .h файлах не видите потому не пони... Jan 1 2018, 12:45 nice_vladi Цитата(sigmaN @ Jan 1 2018, 12:45) ...
П... Jan 1 2018, 13:45 Smoky Цитата(sigmaN @ Jan 1 2018, 18:45) Так вы... Jan 1 2018, 14:54  sigmaN Цитата(Smoky @ Jan 1 2018, 17:54) Логику ... Jan 1 2018, 18:38 Baser Цитата(Smoky @ Jan 1 2018, 07:55) Разобра... Jan 1 2018, 18:47 Smoky Цитата(Baser @ Jan 2 2018, 00:47) Передел... Jan 1 2018, 19:40  Baser Цитата(Smoky @ Jan 1 2018, 21:40) Прошу п... Jan 1 2018, 20:30   Smoky Цитата(Baser @ Jan 2 2018, 02:30) Студии ... Jan 2 2018, 17:11    Baser Цитата(Smoky @ Jan 2 2018, 19:11) Предлаг... Jan 2 2018, 19:18 sigmaN Мне пришлось импортировать проект в AS 7
Я правил... Jan 1 2018, 20:01 Dog Pawlowa Цитата(sigmaN @ Jan 1 2018, 23:01) ...
Си... Jan 1 2018, 21:10 ArtemKAD В хидеры включены переменные(и константные перемен... Jan 1 2018, 20:10 sigmaN ЦитатаПервый способ создаст две переменных, ошибок... Jan 1 2018, 21:24 sigmaN ЦитатаКоллеги, вы "ломаете" все мои уста... Jan 2 2018, 21:30 Smoky Цитата(sigmaN @ Jan 3 2018, 03:30) Вам бы... Jan 3 2018, 08:00 Владивольт похожая тема - взгляните Jan 3 2018, 17:39 Smoky Моя благодарность "волхвам" за науку, вс... Jan 10 2018, 17:06 sigmaN Обращайтесь, я по умничать всегда рад Jan 10 2018, 18:44 Unfog Для исключения повторной компиляции содержимого h-... Jan 12 2018, 06:13 Smoky Цитата(Unfog @ Jan 12 2018, 12:13) Для ис... Jan 12 2018, 06:49  Grizzzly Цитата(Smoky @ Jan 12 2018, 09:49) А это ... Jan 12 2018, 07:04   Smoky Цитата(Grizzzly @ Jan 12 2018, 13:04) Ну ... Jan 12 2018, 10:49  Kabdim Цитата(Smoky @ Jan 12 2018, 09:49) А это ... Jan 12 2018, 08:21   Baser Цитата(Kabdim @ Jan 12 2018, 10:21) Насто... Jan 12 2018, 10:29   aiwa Цитата(Kabdim @ Jan 12 2018, 10:21) Насто... Jan 13 2018, 07:51
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|