Temat: Uniezależnianie się od systemu operacyjnego
Podczas działania programu możemy chcieć wywołać jakieś polecenie systemowe. Polecenia są jednak różne w zależności od systemu operacyjnego.
Na przykład dla systemów unixowych, aby wyczyścić ekran i wyświetlić zawartość katalogu, używamy następujących poleceń:
system("clear");
system("ls -a");
W Windowsie natomiast:
system("cls");
system("dir");
Możemy jednak uzależnić kompilację fragmentów programu od systemu operacyjnego, na przykład:
void wyczysc_ekran() {
#ifdef _WIN32
system("cls");
#else
system("clear");
#endif
}
void wyswietl_folder() {
#ifdef _WIN32
system("dir");
#else
system("ls -a");
#endif
}
Wówczas w naszym programie nie używamy już poleceń system, tylko naszych funkcji, które zostaną poprawnie skompilowane niezależnie od systemu operacyjnego:
wyczysc_ekran(); //zamiast system("cls");
wyswietl_folder(); //zamiast system("dir");