Saya mengalami kesulitan memahami mengapa Anda harus mengembangkan perpustakaan internal untuk digunakan secara eksklusif untuk mengembangkan aplikasi internal. Saya menghargai bahwa jika saya ingin menggunakan perangkat lunak yang ditulis oleh seseorang di luar organisasi maka mereka dapat mengirimkan saya file header dan file .a atau .so dan saya hanya dapat menautkannya ke proyek saya (dengan asumsi mereka dikompilasi dalam lingkungan yang sama) .
Tetapi mengapa perpustakaan internal harus dikembangkan hanya untuk dihubungkan ke aplikasi internal ketika saya memiliki akses ke header dan file implementasi dan dapat dengan mudah memasukkannya ke dalam pohon sumber saya dan mengkompilasinya bersama-sama?
Dengan kata lain: jika beberapa kode sumber ditulis, bagaimana Anda memutuskan apakah harus dikompilasi ke perpustakaan biner dan ditautkan ke aplikasi Anda atau hanya disertakan dalam file sumber proyek dan dikompilasi secara teratur?
Ketika saya mengatakan 'sertakan' file di setiap proyek, saya tidak bermaksud menyalin dan menempelkan setiap file ke dalam pohon sumber proyek yang sedang dikembangkan. Maksud saya mengembangkan beberapa direktori / perpustakaan (terpisah untuk proyek apa pun) yang berisi kode sumber umum yang dapat dimasukkan ke dalam file proyek dengan cara biasa, yaitu #include.
ps Saya berbicara tentang pengembangan c / c ++ di sini untuk beberapa aplikasi desktop.