Delphi что такое dcu

Что такое файл Delphi DCU?

Что такое файл Delphi DCU?

Я считаю, что это означает «Delphi Compiled Unit». Правильно ли я предполагаю, что он содержит объектный код и поэтому соответствует «.o » файл, скомпилированный из файла исходного кода C / C++?

3 ответов

и это технически не «кэш» файлов, хотя ваши сборки будут работать быстрее, если вы не удалите их, и когда не нужно перекомпилировать их.

вот некоторая история, если она что-то добавляет.

Паскаль был первоначально написано как компилятор с одним проходом, и он создал исполняемый файл (COM или EXE) непосредственно, который работал под DOS. (Pascal изначально был разработан для академических целей, чтобы научить программированию, а не создавать большие приложения. Поэтому его ограничения были преднамеренными в этом отношении.)

этот процесс помешал вам связываться с отдельно скомпилированными блоками и библиотеками. UCSD Pascal пришел и исправил вещи, скомпилировав в формат байт-кода, который позволил связать несколько единиц вместе.

объектные файлы используют относительную адресацию в каждом блоке и требуют того, что называется «fix-ups» позже, чтобы заставить их работать. Исправления указывают на символические метки, которые должны существовать в других объектных файлах или библиотеках.

существует два вида «исправлений»: один выполняется статически инструментом под названием»компоновщик». Компоновщик берет кучу объектных файлов и сшивает их вместе в нечто аналогичное лоскутному одеялу. Затем он «исправляет» все относительные ссылки, подключая указатели ко всем внешним меткам.

вторые починки сделаны динамически когда программа загружается для запуска. Они сделаны чем-то, что называется «загрузчиком», но вы никогда этого не увидите. Когда вы вводите команду в командной строке, загрузчик вызывается для загрузки EXE-файла в память, исправления оставшихся ссылок на основе того, где файл загружен, а затем управление передается в точку входа приложения.

Я думаю, что файлы DCU возникли, когда Борланд представил Delphi, чтобы отличить их от файлов OBJ, созданных TurboPascal. То есть, ты не удалось связать OBJ-файлы TP непосредственно с файлами DCU Delphi. Они были разных форматов.

Delphi также полностью скрыл компоновщик, поэтому вы просто выполняете компиляцию и запуск. Однако все настройки компоновщика все еще существуют в одной из панелей параметров Delphi.

в дополнение к ответу Дэвида Шварца, есть один случай, когда dcu на самом деле сильно отличается от типичных obj-файлов, генерируемых на других языках: Общие определения типов. Если универсальный тип определен в блоке Delphi, компилятор компилирует этот код в представление дерева синтаксиса, а не в машинный код. Это представление дерева синтаксиса затем хранится в файле dcu. Когда универсальный тип затем используется и создается в другом блоке, компилятор будет использовать это представление и «слияние» его с синтаксическим деревом единицы с использованием универсального типа. Вы могли бы подумать, что это несколько аналоги метода inlining. Это, кстати, также является причиной того, что блок, который интенсивно использует дженерики, занимает гораздо больше времени для компиляции, хотя общие типы «связаны» из файла dcu.

раздел «интерфейс» исходного файла Delphi соответствует заголовку, а раздел «реализация» создает объектный код.

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

Источник

What is a Delphi DCU file?

What is a Delphi DCU file?

I believe it stands for «Delphi Compiled Unit». Am I correct in assuming it contains object code, and therefore corresponds to an «.o» file compiled from a C/C++ source code file?

3 Answers 3

Here’s some history in case it adds anything.

Pascal was originally designed as a small, efficient language intended to encourage good programming practices using structured programming and data structuring; Turbo Pascal 1 was originally designed as a an IDE with built-in very fast compiler, and an affordable competitor in the the DOS and CP/M market against the long edit/compile/link cycles at that time. Turbo Pascal and Pascal had similar limitations as any programming environment back then: memory and disk space were measured in kilobytes, processor speeds in Megahertz.

Linking to an executable binary prevented you from linking to separately compiled units and libraries.

Before Turbo Pascal, there was UCSD p-System operating system (supporting many languages, including Pascal. The UCSD Pascal compiler back then already extended the Pascal language with units) which compiled into a pseudo-machine byte-code (called p-code) format that allowed linking multiple units together. It was slow though,

Object files use relative addressing within each unit, and require what’s called «fix-ups» (or relocation) later on to make them run. Fix-ups point to symbolic labels that are expected to exist in other object files or libraries.

There are two kinds of «fix-ups»: one is done statically by a tool called a «linker». The linker takes a bunch of object files and seams them together into something analogous to a patchwork quilt. It then «fixes-up» all of the relative references by plugging-in pointers to all of the externally-defined labels.

The second fix-ups are done dynamically when the program is loaded to run. They’re done by something called the «loader», but you never see that. When you type a command on the command line, the loader is called to load an EXE file into memory, fix-up the remaining links based on where the file is loaded, and then control is transferred to the entry point of the application.

Delphi also hid the linker entirely, so you just do a compile and a run. All of the linker settings are still there, however, in one of Delphi’s options panes.

Источник

Менеджер проектов и файлы проекта Delphi. Delphi уроки (Урок №2)

Delphi что такое dcu. Смотреть фото Delphi что такое dcu. Смотреть картинку Delphi что такое dcu. Картинка про Delphi что такое dcu. Фото Delphi что такое dcu

В этом уроке мы детально рассмотрим окно «Менеджер проектов» интегрированной среды разработки Delphi. А также узнаем какие файлы формирует Delphi IDE при создании проекта и зачем эти файлы нужны.

Откройте в Delphi проект из нашего прошлого урока, или создайте новый проект. Как это делается вы должны помнить, но если кто-то забыл, то я напомню File — New — VCL Forms Application – Delphi.

Давайте теперь посмотрим на «Менеджер проектов». И, чтобы раскрыть все ветви дерева, выберите первый элемент в менеджере проектов и нажмите на дополнительной цифровой клавиатуре.

Видео по теме

Давайте подробно рассмотрим каждый пункт менеджера проектов

Если в вашем проекте будет несколько приложений, то только одно из них может быть активным. И только активное приложение мы можем выполнять и отлаживать в среде разработки. Имя активного приложения выделяется жирным шрифтом. Чтобы изменить активное приложение, достаточно дважды кликнуть по его имени левой кнопкой мыши. Также можно вызвать контекстное меню, кликнув по имени приложения правой кнопкой мыши и затем выбрать Activate (Активировать).

Но пока давайте будем работать только с одним приложением. Поэтому если вы создали второе приложение, то его можно удалить. Для этого выделяем имя второго приложения и нажимаем клавишу Del, или Delete (у кого какая клавиатура). В появившемся окне о подтверждении удаления нужно выбрать Yes (Да) и приложение будет удалено из группы проектов.

Но реально из диска файлы не удаляются. Они остаются на месте. Просто не отображаются в проекте. Поэтому если они вам вообще не нужны, то нужно их найти и удалить. Это если вы сохраняли проект, после того как добавили в него второе приложение. Если же вы не сохраняли проект, то соответственно файлы второго приложения и не создавались.

Теперь давайте перейдем в папку с нашим проектом и посмотрим на файлы присутствующие в ней.

Файл с расширением dcu — это откомпилированный модуль проекта в промежуточном формате. Когда происходит компиляция программы, то все модули компилируются в файлы формата DCU, а потом они собираются в один файл. Если модуль не изменился с последней компиляции, то Delphi пропустит его и при сборке будет использовать уже существующий файл DCU. Так увеличивается скорость компиляции.

Ну и файл с расширением exe — это наша программа, исполняемый файл того приложения, которое мы скомпилировали в Delphi.

Файлы с расширением dfm, pas, dpr и dproj можно открыть обычным блокнотом и внести в них нужные изменения. Но это делается только в том случае если по какой-то причине эти файлы не открываются в IDE Delphi.

Вы можете заметить, что когда открываете уже существующий проект в Delphi, то можно открыть файл dpr, а можно открыть и dproj. И эффект будет одинаковым. В чем же разница?

Как я уже упоминал, файл dpr содержит исходный код Delphi (это самый важный файл), а файл dproj содержит конфигурацию проекта.

Открывая один из них, интегрированная среда разработки автоматически ищет другой.

Попробуйте удалить файл dproj и открыть (оставшийся) файл dpr — IDE Delphi сообщит вам, что будет сгенерирован новый файл dproj.

А вот файл dpr ни в коем случае не удаляйте!

Надеюсь, этот урок стал для вас полезным, и вы подпишитесь на мой канал. Также буду очень благодарным за ваши лайки и оставленные комментарии под этим видео. Канал D-Nik Webmaster.

Источник

Что такое DCU файл Delphi?

Что такое файл DCP Delphi?

ОТВЕТЫ

Ответ 1

Вот немного истории на случай, если что-нибудь добавит.

Первоначально Pascal был спроектирован как небольшой эффективный язык, предназначенный для поощрения хороших методов программирования с использованием структурированного программирования и структурирования данных; Turbo Pascal 1 изначально разрабатывался как IDE со встроенным очень быстрым компилятором и доступным конкурентом на рынке DOS и CP/M, несмотря на длительные циклы редактирования/компиляции/компоновки в то время. Turbo Pascal и Pascal имели те же ограничения, что и любая другая среда программирования: память и дисковое пространство измерялись в килобайтах, скорости процессора в мегагерцах.

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

До Turbo Pascal существовала операционная система UCSD p-System (поддерживающая многие языки, включая Pascal. Компилятор UCSD Pascal тогда уже расширил язык Pascal модулями), скомпилированный в псевдомашинный байт-код (называемый p-code). формат, позволяющий связать несколько единиц вместе. Это было медленно, хотя,

Объектные файлы используют относительную адресацию в каждом модуле и требуют того, что позже называлось «исправлениями» (или перемещением), чтобы заставить их работать. Исправления указывают на символические метки, которые, как ожидается, существуют в других объектных файлах или библиотеках.

Существует два вида «исправлений»: один статически выполняется инструментом, называемым » компоновщик «. Компоновщик берет кучу объектных файлов и соединяет их во что-то, похожее на лоскутное одеяло. Затем он «исправляет» все относительные ссылки, вставляя указатели на все внешние метки.

Вторые исправления выполняются динамически, когда программа загружается для запуска. Они сделаны чем-то, что называется «загрузчик», но вы этого никогда не увидите. Когда вы вводите команду в командной строке, вызывается загрузчик для загрузки EXE файла в память, исправления оставшихся ссылок в зависимости от того, где загружен файл, а затем управление передается в точку входа приложения.

Delphi также полностью скрыл компоновщик, так что вы просто делаете компиляцию и запускаете. Однако все параметры компоновщика все еще присутствуют в одной из панелей параметров Delphi.

Ответ 2

В дополнение к ответу Дэвида Шварца, есть один случай, когда dcu на самом деле сильно отличается от типичных файлов obj, сгенерированных на других языках: определения общего типа. Если общий тип определен в Delphi Unit, компилятор компилирует этот код в представление дерева синтаксиса, а не в машинный код. Это представление дерева синтаксиса затем сохраняется в файле dcu. Когда общий тип используется и создается в другом блоке, компилятор будет использовать это представление и «объединить» его с деревом синтаксиса устройства, используя общий тип. Вы могли бы подумать, что это несколько аналогий для метода вложения. Это, кстати, также является причиной того, что блок, который сильно использует дженерики, требует гораздо больше времени для компиляции, хотя общие типы «связаны» с файлом dcu.

Ответ 3

Раздел «интерфейс» исходного файла Delphi соответствует заголовку, а секция «реализация» создает объектный код.

Предварительно скомпилированные файлы заголовков могут значительно сократить время компиляции и ссылки. Раздел заголовка DCU предоставляет информацию о ссылке на другие ссылочные единицы, которые не нужно повторно открывать.

Источник

Файлы *dcu в проекте

скажите в папке с проектом лежат файлы с расширением *dcu.

Нужны ли они для работы программы. или их можно смело удалять.

Delphi что такое dcu. Смотреть фото Delphi что такое dcu. Смотреть картинку Delphi что такое dcu. Картинка про Delphi что такое dcu. Фото Delphi что такое dcuDCU файлы
http://i10.pixs.ru/storage/6/8/1/346346png_8085203_17794681.png Можно ли в данном случае удалить.

Файлы Object File (.obj) в проекте Делфи
Че это за файлы не пойму? Скачал один исходник (на скрине) хотел картинок с него вытащить но так и.

скажите в папке с проектом лежат файлы с расширением *dcu.

Нужны ли они для работы программы. или их можно смело удалять.

Куда прикреплять файлы в проекте
В программе использую считку с текстовика и запись. Скажите куда именно нужно добавить сам файл в.

Расшифровать и собрать шифрованные файлы в проекте с swf.
Здравствуйте. В работе с флешем совсем новичок. Есть файлы игры, игра работает с шифрованными.

Delphi что такое dcu. Смотреть фото Delphi что такое dcu. Смотреть картинку Delphi что такое dcu. Картинка про Delphi что такое dcu. Фото Delphi что такое dcuКак распределить файлы по папкам в WPF проекте?
Как правильно перекидывать файлы по папкам в проектах WPF? Например, если создать папку и.

Delphi что такое dcu. Смотреть фото Delphi что такое dcu. Смотреть картинку Delphi что такое dcu. Картинка про Delphi что такое dcu. Фото Delphi что такое dcuКакие исходные файлы должны быть в проекте на С#?
Добрый день, мой вопрос может показаться странным, однако: какие исходные файлы должны быть если.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *