Czytalem gdzies ze - cytuje - "programy napisane w c++ nie sa przenosne, tzn. nie mozna ich napisac u siebie i uruchomic na innym komputerze."
Czy to prawda? Jesli tak to dlaczego?
Ekhm... C/c++ to chyba jezyk ktory doczekał się kompilatora pod kazdy system... To po pierwsze. Po drugie... Binarki... Mogą być nieprzenośne, o ile zwalisz kompilację (bo np. nie zlinkujesz wszystkich bibliotek, albo zapomnisz o dll-ce).
To czysty kit, C i C++ to najbardziej przenosne jezyki, program napisany zgodnie ze stamdardem ort! na KAZDEJ PLATFORMIE SPRZETOWEJ. Czyli od ort! w zegarkach po superkomputery.
program napisany zgodnie ze stamdardem ort! na KAZDEJ PLATFORMIE SPRZETOWEJ. Czyli od ort! w zegarkach po superkomputery.
heh, wątpię, żeby zegarki obsługiwały cały standard ;-)
// Zdziwiłbys sie ;p
// Jeszcze jedna rzecz... *ixy to systemy pisane głownie w c/cpp [mf]
Ale mi chodzi o sytuacje taka ze przenosze slinkowanego execa na inny komputer gdzie nie jest zainstalowany zaden kompilator c++ wiec ma tych bibliotek .bin. Co wtedy? Zadziala taki exec? Moze to glupie pytania ale ta wypowiedz mnie troche zmieszala.
jezeli wymaga bibliotek, których nie będzie w danym systemie a nie zostaną one wbudowane w program to exec nie zadziała
Tak jest w każdym języku
To czysty kit, C i C++ to najbardziej przenosne jezyki, program napisany zgodnie ze stamdardem ort! na KAZDEJ PLATFORMIE SPRZETOWEJ. Czyli od ort! w zegarkach po superkomputery.
Przenosnosc to jest czysty kit. Jezeli bedziesz pisac jedynie w czystym standardzie, to nic nie osiagniesz. Sam jezyk moze i jest przenosny (jak zreszta wiekszosc), ale samym jezykiem nic nie zdzialasz - potrzebujesz funkcji oferowanych przez system i biblioteki. A z tym jest juz roznie. Oczywiscie, stdlib jest w kazdej implementacji C, ale to i tak nie daje nam wiele. Sztandarowy przyklad:
"napisac program umieszczajacy kursor myszy w lewym gornym rogu ekranu nie wykorzystujacy zadnych bibliotek, ktory uruchomilby sie pod dowolnym systemem" No, mozecie ograniczyc sie do Windowsow i Uniksow (lub uniksopodobnych systemow).
Zgrzewka piwa dla tego, kto tego dokona :)
no cóż, zostaje jeszcze JAVA...
Dryo: zgodze sie ale <ort>przecieŻ</ort> pisząc program piszesz najpierw biblioteki ktore umozliwią przeniesienie na inne platformy na ktorych jest c/c++
Dryo: zgodze sie ale <ort>przecieŻ</ort> pisząc program piszesz najpierw biblioteki ktore umozliwią przeniesienie na inne platformy na ktorych jest c/c++
I analogicznie mozna zrobic z innymi jezykami :)
Java... tam jest ten sam problem. Musisz miec VM :)
Po prostu chce powiedziec, ze przenosnosc to jest mit.