Scurt ghid pentru folosirea MinGW Developer Studio

MinGW Developer Studio este un mediu de dezvoltare integrat (Integrated Development Environment, pe scurt IDE) pentru C/C++. Mediul este unul light-weight folosind resurse putine si oferind posibilatea dezvoltarii programelor in mod stabil.

Desi proiectul a fost abandonat de cativa ani el este intr-o forma stabila si suporta schimbarea compilatorului MinGW (care este in dezvoltare activa) avand astfel posibilitatea mentinerii unui pachet modern, in pas cu standardele C/C++. In plus, compilatorul si debuggerul MinGW (vezi detalii in urmatoarea sectiune) pot fi folosite independent de MinGW Developer Studio impreuna cu un alt editor la alegere.

Despre MinGW

MinGW (Minimalist Gnu for Windows) este o colectia gratuita de librarii imbogatind GNU Compliler Collection cu fisiere si librarii specifice Windows. Scopul proiectului initial a fost integrarea facilitatilor oferite de Windows32 in compilatorul gcc si binutils (inclusiv debugger-ul gdb) si portarea acestora pe Windows. Mare parte din codul MinGW este distribuit sub licenta GPL, insa nu in intregime, detalii gasiti aici.

Diferente intre compilatoarele BorlandC 3.1 si MinGW 3.3.1

  • Compilatorul MinGW cere in cazul executiei corecte a programului codul 0. Asadar nu se accepta ca main() sa fie declarat void, este obligatoriu ca sa fie declarat ca int. De exemplu:
#include <iostream>

using namespace std;

int main(void) {
    cout << "acest program compileaza";
    return 0;
}
  • Tipul de date int este reprezentat pe 4 bytes, asadar int ia valori intre -2147483647 si 2147483647. In BorlandC tipul de date int ocupa 2 bytes.
  • Exista tipul de date long long care este reprezentat pe 8 bytes care ia valori intre -262+1 pana la 262-1. In BorlandC acest tip de date nu exista. Pentru a citi/afisa numere pe 64 de biti cu libraria <stdio.h> se foloseste specificatorul de format non-standard "%I64d". Cateva detalii aici.
  • Pointerii ocupa 4 bytes, astfel incat memoria totala disponibila este de 4 GB, care in anul 2008 inseamna oricat, trebuie totusi sa aveti grija la dimensiunea stivei sistem (aceasta insa poate fi marita usor). In BorlandC pointerii ocupa 2 bytes si memoria disponibila este de 64 KB, folosindu-se modificatorii huge sau far pointeri aveau 4 bytes dar totusi memoria disponibila era limitata la 640 KB.
  • MinGW ofera suport pentru Standard Template Library. Dintre structurile implementate fac parte vectorii, cozile, stivele, arborii echlibrati, cozile de prioritate, etc; iar dintre algoritmii implementati sunt sortarea, cautarea binara, generarea permutarilor, etc.