Autor Wątek: Wieloplatformowosc aplikacji...  (Przeczytany 2349 razy)

Offline s4080@pjwstk

  • Użytkownik

# Listopad 08, 2006, 20:06:01
Witam.
moze temat jest zły. ale chodzi mi o to zebym mogl moj prosty programik , ktory w rzeczywistosci jest konsolą, uruchamiac na roznych platformach, pod Win, Lin, i MacOS. oczywiscie rozumiem ze wtedy, do wypisywania tekstu musze uzyc wogole innych odpowiednich biblioteczkek. najlepiej jakas niezalezna od OS.
Co zapewni mojej aplikacji taka wieloplatformowosc (jakas biblioteczka?) i z gory dzieki za pomoc.


Pozdrawiam


ps. pisze w C

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

bies

  • Gość
# Listopad 08, 2006, 20:25:16
PDCurses. Nie jestem pewien co do Mac OS ale MOX na pewno.

Offline Reg

  • Administrator
    • Adam Sawicki - Home Page

# Listopad 08, 2006, 20:40:54
Podałeś mało szczegółów, to i ja odpiszę ogólnie.

Otóż pisać aplikacje przenośne na różne systemy można na 3 sposoby:

1. Używając technologii, które same z siebie działają na różnych systemach - np. Java czy HTML+CSS+JavaScript, języki skryptowe jak PHP, Python, Perl itp. Takie programy przeniesione na inną platformę zadziałają od razu.

2. Pisząc programy w C++ czy innym "normalnym" języku, ale używając w nim wyłącznie bibliotek przenośnych między systemami. Nie ma więc mowy o Windows API czy nagłówkach Uniksa, DirectX-ie czy czymś takim. W grę wchodzą jedynie biblioteka standardowa C/C++ oraz biblioteki jasno opisane jako przenośne, np. Boost, do interfejsu użytkownika wxWidgets itd. (jest ich wiele, praktycznie do każdej rzeczy). Taki programy wymagają rekompilacji na każdej docelowej platformie, ale jak się już wszystko poinstaluje i poustawia w kompilatorze (nie żeby to było takie proste i szybkie...), to się skompiluje i zadziała.

3. Pisząc kod w C++ czy innym takim języku z fragmentami kompilowanymi warunokwo (#ifdef itp., ogólnie preprocesor) i zależnie od systemu używając takiej czy innej wersji swojej funkcji, wykorzystującej do działania funkcje specyficzne dla danego sytemu.

Wybór należy do ciebie :) Opcję 2 i 3 można łączyć.