Mam problem ze zrozumieniem, dlaczego powinieneś tworzyć biblioteki wewnętrzne, które będą używane wyłącznie do tworzenia aplikacji wewnętrznych. Doceniam to, że jeśli chcę korzystać z oprogramowania napisanego przez osobę spoza organizacji, może on wysłać mi swoje pliki nagłówkowe oraz pliki .a lub .so i mogę po prostu połączyć je z moim projektem (zakładając, że są one skompilowane w tym samym środowisku) .
Ale dlaczego należy opracować bibliotekę wewnętrzną, aby była połączona z aplikacją wewnętrzną, gdy mam dostęp do plików nagłówka i plików implementacyjnych i mogę po prostu dołączyć je do mojego drzewa źródłowego i skompilować je wszystkie razem?
Innymi słowy: jeśli jakiś kod źródłowy zostanie napisany, jak zdecydować, czy należy go skompilować do biblioteki binarnej i połączyć z aplikacją, czy po prostu włączyć do plików źródłowych projektu i regularnie kompilować?
Kiedy mówię „dołącz” pliki do każdego projektu, nie mam na myśli kopiowania i wklejania każdego pliku do drzewa źródłowego aktualnie opracowywanego projektu. Mam na myśli opracowanie jakiegoś katalogu / biblioteki (oddzielnej dla każdego projektu) zawierającego wspólny kod źródłowy, który można włączyć do plików projektu w zwykły sposób, tj. #Include.
ps Mówię tutaj o rozwoju c / c ++ dla wielu aplikacji komputerowych.