реклама на сайте
подробности

 
 
> Прозрачность программы для компилятора, Почему иногда приходится обьявлять одни и теже инклюды
Waso
сообщение Oct 30 2007, 11:43
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 268
Регистрация: 4-11-05
Пользователь №: 10 470



Насколько я понимаю, инклюд, обьявленный в начале файла должен быть виден во всех последующих инклюдах программы. Согласно Кернигану и Риччи, предпроцессор заменяет директиву #include на содержимое файла, на который она указывает. Однако в ИАРе для успешной компиляции некоторые инклюды приходится втыкать чуть ли не в каждый файл проекта. Плюс к тому, с-шные файлы вообще не участвуют в инклюдах, а обращение к их функциям происходит через прототипы функций одноименных хедеров. Нестыковочка.

Подскажите пожалуйста, как можно избавиться от сабжевой проблемы, в чем могут быть ее причины? Общие ответы типа "в кривости кода" - не в счет.


PS Пользую IAR EWARM 4.40A
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Waso
сообщение Oct 30 2007, 12:36
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 268
Регистрация: 4-11-05
Пользователь №: 10 470



Благодарю.
Начинает доходить. smile.gif

Значит любой с-файл включенный в проект будет компилироваться и отгрызать место даже если я закоментирую инклюд с его хедером??

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

alexander55 отличная идея! На первый взгляд. Почему тогда такой прием широко не используется? Врядли для того чтобы сократить время компиляции.
Go to the top of the page
 
+Quote Post
ig_z
сообщение Oct 30 2007, 13:37
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551



Цитата(Waso @ Oct 30 2007, 16:36) *
alexander55 отличная идея! На первый взгляд. Почему тогда такой прием широко не используется? Врядли для того чтобы сократить время компиляции.

Отличную идею нужно довести до конца!
1 склеим все хедеры в один
2 склеим все сишники в один
3 склеим склееное в один супер сишник
4 выкинем лишнее, оставшееся от хедеров
Получаем удовольствие 08.gif
Go to the top of the page
 
+Quote Post
alexander55
сообщение Oct 30 2007, 13:52
Сообщение #4


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(ig_z @ Oct 30 2007, 16:37) *
Отличную идею нужно довести до конца!
1 склеим все хедеры в один
2 склеим все сишники в один
3 склеим склееное в один супер сишник
4 выкинем лишнее, оставшееся от хедеров
Получаем удовольствие 08.gif

Давайте без фанатизма и экстремизма. biggrin.gif
Но все мечтают видеть все, сразу, вместе и чтобы было все ясно и наглядно !
PS. И хорошо бы, чтобы и работало без вопросов. 07.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Waso   Прозрачность программы для компилятора   Oct 30 2007, 11:43
- - Сергей Борщ   Цитата(Waso @ Oct 30 2007, 14:43) Однако ...   Oct 30 2007, 12:03
- - IgorKossak   Проблема не в кривости кода а в недопонимании. Во ...   Oct 30 2007, 12:08
- - alexander55   Цитата(Waso @ Oct 30 2007, 14:43) Кроме ...   Oct 30 2007, 12:16
|- - Andy Mozzhevilov   Цитата(alexander55 @ Oct 30 2007, 17:16) ...   Oct 31 2007, 04:50
|- - alexander55   Цитата(Andy Mozzhevilov @ Oct 31 2007, 07...   Oct 31 2007, 05:58
|- - dxp   Цитата(Waso @ Oct 30 2007, 18:36) Значит ...   Oct 30 2007, 12:41
|- - alexander55   Цитата(Waso @ Oct 30 2007, 15:36) alexand...   Oct 30 2007, 12:50
|- - scifi   Цитата(Waso @ Oct 30 2007, 15:36) отлична...   Oct 30 2007, 14:21
|- - alexander55   Цитата(scifi @ Oct 30 2007, 17:21) Полезн...   Oct 30 2007, 14:33
- - Непомнящий Евгений   Полностью присоединяюсь к Andy Mozzhevilov - избыт...   Oct 31 2007, 05:42
- - Waso   Линкер выдает такую ошибку: КодError[e27]...   Nov 2 2007, 09:28
|- - Сергей Борщ   Цитата(Waso @ Nov 2 2007, 12:28) В обоих ...   Nov 2 2007, 09:48
|- - VladislavS   Цитата(Waso @ Nov 2 2007, 12:28) Охранные...   Nov 2 2007, 17:41
|- - Николай Z   Цитата(Waso @ Nov 2 2007, 12:28) Линкер в...   Nov 4 2007, 18:52
- - Waso   Видимо проблема в том что компилятор умничает и иг...   Nov 8 2007, 11:45
|- - Сергей Борщ   Цитата(Waso @ Nov 8 2007, 13:45) Еще мале...   Nov 8 2007, 12:14
- - Waso   Спасибо. Просто у меня после паскалевских Ctrl-Shi...   Nov 13 2007, 11:08
- - Сергей Борщ   Цитата(Waso @ Nov 13 2007, 13:08) Еще воп...   Nov 13 2007, 12:40


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 10:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.0139 секунд с 7
ELECTRONIX ©2004-2016