| Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
| Все форумы / Delphi |
![]() |
||
|
moon7 Member Откуда: Сообщений: 15 |
объясните мне, dcu - это скомпилированные модули, а зачем они нужны, ведь есть файл exe? |
| 3 сен 08, 19:33 [6143882] Ответить | Цитировать Сообщить модератору | |
|
Anatoly Podgoretsky Member Откуда: Сообщений: 62231 |
Ну например, что бы создать этот ехе, близко к понятию OBJ -- www.podgoretsky.com |
| 3 сен 08, 19:43 [6143910] Ответить | Цитировать Сообщить модератору | |
|
moon7 Member Откуда: Сообщений: 15 |
а где можно достать подробную информацию о компиляции проекта Delphi? |
| 3 сен 08, 19:57 [6143937] Ответить | Цитировать Сообщить модератору | |
|
moon7 Member Откуда: Сообщений: 15 |
Про экономию времени при компиляции я поняла, а вот про то, что можно слепить компоненты или программу, нет. Можешь объяснить это по-подробнее? |
||
| 3 сен 08, 20:51 [6144016] Ответить | Цитировать Сообщить модератору | |||
|
moon7 Member Откуда: Сообщений: 15 |
Я хочу повторить свой вопрос, можно ли достать подробную информацию о компиляции проекта Delphi? |
| 3 сен 08, 21:27 [6144060] Ответить | Цитировать Сообщить модератору | |
|
MMM_Corp Member Откуда: Тернопіль, Україна Сообщений: 1770 |
Могу, смотрим,с чего в делфи состоит компонент, я конечно грубу скажу, но гдето так: 1. dpk - пакет компонента, думаю эта штуковина знакомая 2. в dpk прописаны модуля (они могут бить как в pas так и в dcu виде), всеравно они сведутся к dcu, тоесть pas становится dcu при любом раскладе. 3. таким образом у нас получается что имея pas/dcu можно использовать как модуль, оно так и есть, напр. модуль system - существует только в dcu виде, но вы даже не замечаете разницы, он просто подключается и компилируется, как был бы это обычный pas. (кстати это не сложно проверить, только нужно включить фантазию) 4. таким образом ми получаем гибкость, хотим похвастаться исходниками своих компонентов, поставляем pas-файлы, жмемся исходниками поставляем только dcu-файлы, или сразу готовые BPL-ки, это уже как удобней. Как точно компилируется программа? Попытаюсь обьяснить, я не эксперт в данном вопросе, но думаю с общей помощью ми вместе это выясним, итак начну: 1. Составляется и проверяется наличные всех необходимых модулей (pas, dcu, bpl - файлы), если все на месте см. п.2. 2. Компилируются все модуля по порядку (создаются dcu-файлы, где их еще нету) 3. Если все в порядке, то согласно map-файлу (незнаю как точно обьяснить) линковщик склеивает в готовую программу. ну гдето так. П.С. Простите за тупой вопрос, а для чего Вам эта информация? |
||||
| 3 сен 08, 23:04 [6144271] Ответить | Цитировать Сообщить модератору | |||||
|
_Vasilisk_ Member Откуда: Украина, Харьков Сообщений: 5740 |
Стоит еще добавить что 1) pas не компилируется в dcu, если дата создания dcu позже, чем pas 2) pas всегда компилируется в dcu, если выбран не Compile Project, а Build Project. Еще есть такая тонкость unit Unit1; interface uses Unit2 ........................ // Первая группа ошибок ........................ implementation uses Unit3; ........................ // Вторая группа ошибок ........................ end.Компилятор обнаружит вначале ошибки в модуле Unit2. После их исправления обнаружит первую группу, после их исправления выведет ошибки в модуле Unit3 и только после их исправления обнаружит ошибки во второй группе. Ошибки компиляции бывают фатальными и нефатальными. При обнаружении фатальной ошибки компиляция проекта останавливается. При нефатальной - продолжается. Наличие нефатальной ошибки при компиляции модуля приводит к появлению фатальной ошибки по окончании компиляции модуля. Такой механизм позволяет за минимальное число компиляций найти все ошибки в модуле С уважением, Vasilisk |
| 3 сен 08, 23:38 [6144343] Ответить | Цитировать Сообщить модератору | |
|
moon7 Member Откуда: Сообщений: 15 |
Вопрос не тупой), а информацию ищу для себя, много неясных моментов возникает при чтении литературы. За ответы спасибо, они для меня кое-что прояснили) |
||
| 6 сен 08, 14:32 [6154931] Ответить | Цитировать Сообщить модератору | |||
|
moon7 Member Откуда: Сообщений: 15 |
Спасибо за информацию. |
||
| 6 сен 08, 14:42 [6154944] Ответить | Цитировать Сообщить модератору | |||
|
moon7 Member Откуда: Сообщений: 15 |
Конечно, хотелось бы почитать подробную литературу по этому вопросу. |
| 6 сен 08, 14:44 [6154945] Ответить | Цитировать Сообщить модератору | |
|
moon7 Member Откуда: Сообщений: 15 |
.... где описываются все тонкости и ньюансы. |
| 6 сен 08, 14:45 [6154946] Ответить | Цитировать Сообщить модератору | |
|
Anatoly Podgoretsky Member Откуда: Сообщений: 62231 |
Вот подробнейшея информация от производителя, законченая.
-- http://www.podgoretsky.com |
||
| 6 сен 08, 14:48 [6154949] Ответить | Цитировать Сообщить модератору | |||
|
otistarda Member Откуда: Новосибирск Сообщений: 334 |
Узнаю брата Колю (С) [выдрано_из_контекста] For more information about libraries and packages, see Libraries and packages [/выдрано_из_контекста] Posted via ActualForum NNTP Server 1.4 |
| 6 сен 08, 15:35 [6154985] Ответить | Цитировать Сообщить модератору | |
|
mvb Member Откуда: Заполярье Сообщений: 1067 |
неправда, он расположен в каталоге \Source\Rtl\Sys\
|
||||
| 6 сен 08, 19:05 [6155165] Ответить | Цитировать Сообщить модератору | |||||
|
_Vasilisk_ Member Откуда: Украина, Харьков Сообщений: 5740 |
Зачем? Какую цель Вы преследуете?
Не совсем так. Он там не весь и многих функций в нем нет. Но правда ясли включить Build DCU, то все функции можно посмотереть (правда под хитрыми именами) |
||||
| 7 сен 08, 00:29 [6155482] Ответить | Цитировать Сообщить модератору | |||||
|
Anatoly Podgoretsky Member Откуда: Сообщений: 62231 |
Эти многие функции не являются функциями в прямом смысле этого слово это так называемая магия компилятора, а часть системных функций решили реализовывать через библиотеку SYSTEM, а не компилятором, но компилятор вкурсе о своей секретной библиотеки, и знает когда делать серию вызовов inline (compiler magic), а когда сделать эту серию через вызовы подпрограмм из SYSTEM. -- http://www.podgoretsky.com Posted via ActualForum NNTP Server 1.4 |
| 7 сен 08, 01:10 [6155498] Ответить | Цитировать Сообщить модератору | |
|
moon7 Member Откуда: Сообщений: 15 |
Просто заинтересовал этот вопрос, может эта информация секретная? |
||||
| 7 сен 08, 20:59 [6156190] Ответить | Цитировать Сообщить модератору | |||||
|
Гаджимурадов Рустам Member Откуда: Сообщений: 48367 |
moon7> Просто заинтересовал этот вопрос, может эта информация секретная? Нет. Некоторые ответы тебе уже привели. Только вот зачем тебе это знание - непонятно. Хочешь больше - почитай литературу, книги. Posted via ActualForum NNTP Server 1.4 |
| 7 сен 08, 21:06 [6156198] Ответить | Цитировать Сообщить модератору | |
| Все форумы / Delphi | ![]() |
|