Generalități
În procesul de dezvoltare de aplicații complexe, ce trebuie extinse sau întreținute pe termen lung (uneori chiar zeci de ani), apar în principal următoarele probleme:
- Sistemele de calcul evoluează în timp. De cele mai multe ori o generație nouă de echipamente înseamnă doar performanțe mai bune, fără a necesita o actualizare a aplicațiilor.
- Disponibilitatea sistemelor de operare se modifică periodic. Unele sisteme de operare sunt retrase complet (de obicei înlocuite cu versiuni absolut necesare pentru a putea folosi cele mai noi generații de echipamente), altele sunt doar actualizate.
- În cadrul aceluiași proiect pot fi combinate diverse sisteme de operare, în funcție de utilizarea efectivă a echipamentelor de calcul (interfață grafică pentru utilizator sau procesare de informații), disponibilitatea aplicațiilor și limite bugetare.
- Dificultatea întreținerii unor proiecte software cu surse diferite pentru fiecare sistem de operare și/sau tip de procesor.
- Necesitatea unui sistem de raportare a erorilor critice care să permită depanarea codului pe cât posibil fără a avea acces la echipamentele pe care s-au manifestat sau a încerca reproducerea problemelor pe alte echipamente similare.
- Reducerea la minim a dependenței de un anumit mediu de dezvoltare și asigurarea reproductibilității procesului de compilare a surselor.
Ca urmare a efortului de peste 20 de ani de a soluționa în mod cât mai eficient problemele enumerate, am reușit să dezvoltăm un set minim de surse C++ care stau la baza tuturor aplicațiilor pe care le dezvoltăm. Acestea au cunoscut multe iterații în funcție de compilatoarele disponibile, versiunea de C++ suportată corect de acestea și cerințele de sistem de operare. La momentul publicării, acestea folosesc facilitățile C++20.
Sistemul de operare suportat inițial a fost Windows pe 32-biți. Ulterior s-a adăugat Windows pe 64-biți. Suportul pentru Linux, deși disponibil experimental încă de la început, s-a definitivat în ultimii ani. Similar, procesoarele suportate inițial au fost cele din familia x86, cu suport pentru x86-64 adăugat spre finalul lui 2005. În prezent sunt suportate și procesoare ARM cu sistem de operare Linux. În toate situațiile, pentru Linux este avută în vedere distribuția stabilă Debian, inclusiv distribuțiile derivate din aceasta.
Compilatoarele suportate sunt Microsoft Visual Studio pentru Windows și GCC pentru Linux. Pentru compilare se folosesc fișiere de tip Makefile ce au nevoie de GNU Make pentru a putea fi procesate.
Aceste surse sunt oferite în mod gratuit, pentru orice scop (comercial sau non-comercial). Nu suntem răspunzători pentru eventualele probleme ce pot apărea în aplicații ca urmare a utilizării lor!