Pliki .dcu, można usunąć?

0

Witam, po kompilacji programu w katalogu razem z binarką są pliki .dcu komponentów które mam w projekcie. Co można zrobić z tymi plikami żeby po kompilacji nie pojawiały się?

1

Możesz je śmiało kasować. DCU jest skrótem od Delphi Compiled Unit i jak nazwa wskazuje, powstają one po skompilowaniu plików PAS. Następnie linker je "skleja" w jedną całość, którą Ty otrzymujesz pod postacią pliku EXE.

Teoretycznie, jeśli w danym unicie nic się nie zmieniło, to podczas budowania EXE nie ma konieczności ponownej kompilacji danego modułu, można podpiąć już istniejący plik DCU, więc pozostawienie go na dysku może przyspieszyć całego builda. Ale w praktyce, przy obecnych procesorach i dyskach SSD, jest to praktycznie nieodczuwalne.

TL;DR: możesz to kasować, ale najlepiej po prostu zignoruj.
Po zakończonej kompilacji, gdy masz plik wykonywalny, DCU nie jest do niczego potrzebne, nie musisz go dołączać do binarki.

1
Jekobu napisał(a):

Witam, po kompilacji programu w katalogu razem z binarką są pliki .dcu komponentów które mam w projekcie. Co można zrobić z tymi plikami żeby po kompilacji nie pojawiały się?

Najlepiej rozdzielić sobie tak, żeby pliki dcu wpadały do innych katalogów. Ja najczęściej tak ustawiam środowisko, żeby pliki wynikowe wpadały do katalogu Bin, a pliki DCU do katalogów Debug i Release, struktura jest taka:

.\Build\Win32\Bin
.\Build\Win32\Debug
.\Build\Win32\Release\

Jak już musisz usuwać, to ręcznie albo skryptem. Można na wiele rożnych sposobów, co kto lubi/potrzebuje :)

0

@Jekobu: czemu Ci tak bardzo przeszkadzają, że nie chcesz aby były tworzone?

1

Pliki DCU śmiało można kasować
Ewentualnie w opcjach projektu ustawić "dcu output directory" jak kogoś drażni obecnosc
Ewentualnie pliki projektu oglądać przez gui od git/svn gdzie *.dcu są dodane do ignorowanych

2

Co można zrobić z tymi plikami żeby po kompilacji nie pojawiały się?

Nie można zrobić żeby się nie pojawiały, można zrobić że się będą pojawiały gdzie indziej.
Jak skasujesz to przy następnej kompilacji i tak pliki dcu zostaną wygenerowane na nowo, a kompilacja będzie trwała przez to dłużej.

2

A może po prostu warto skończyć trzymanie archiwalnych wersji projektu w plikach *.zip i ogarnąć jakiegoś GIT'a na przykład...? ;)

Innej opcji nie widzę aby usuwać pliki typu *.dcu.

0

@Mr.YaHooo: użycie Gita nagle nie spowoduje, że kompilator nie będzie wypluwał binarek. Pliki te nadal będą tworzone, co najwyżej będą ignorowane (ale to nie jest usuwanie). Bez tych plików proces kompilacji będzie trwał dużo dłużej niż z nimi, więc ich usuwanie jest absolutnie bez sensu.

1

@furious programming tak, ja to wszystko wiem. Dlatego moim zdaniem pytanie kolegi @Jekobu to po prostu problem XY. Dlatego dałem taką, a nie inną odpowiedź na to pytanie.

Jednak jeśli mam udzielić odpowiedzi na pytanie właściwe, to można by skorzystać z tego narzędzia https://wiert.me/2014/11/20/delphi-prebuildpostbuild-events/ i po prostu usuwać sobie pliki tymczasowe tym sposobem. Z tym, że jak mówisz. Każda kompilacja będzie trwała dłużej. W przypadku małych projektów będzie to mała różnica, ale gdy mamy 100+ unitów już jest o co walczyć.

3
Jekobu napisał(a):

Witam, po kompilacji programu w katalogu razem z binarką są pliki .dcu komponentów które mam w projekcie. Co można zrobić z tymi plikami żeby po kompilacji nie pojawiały się?

Przestać kompilować ten projekt.
Na pewno .dcu przestaną się pojawiać...

1 użytkowników online, w tym zalogowanych: 0, gości: 1