Programowanie w linuksie
Ostatnio zmodyfikowano 2014-07-03 19:36
Sakatoku Temat założony przez niniejszego użytkownika |
Programowanie w linuksie » 2014-07-02 17:06:21 Witam mam takie pytanko program napisany pod windows xp zadziała na innym komputerze z xp bez problemu lub na wyższej wersji windowsa.
Jak to jest z linuksem?
1. Czy jak napisze sobie proste 'hello world' na przykład w Debian 7.5 to czy zadziała u mojego kolegi jeśli ma ten sam system?
2. A gdyby miał nowsza wersje debiana to czy ten program nadal by działał?
3. Czy program napisany w debianie zadziała na ubuntu?
Ogólnie to w skrócie rozchodzi mi się o to jak pisać programy pod linuksem żeby bez problemu uruchamiały się po za moim komputerem :D
|
|
akwes |
» 2014-07-02 20:39:40 Na Windows i MS-DOS jest EXE PE zaś na systemach Linuksowych jest ELF. Z racji innych rozwiązań dokonanych w tych formatach plików nie można ich używać w innych systemach od tak sobie. Istnieją sposoby uruchamiania ELFów na Windowsie i EXE PEków na Linuksie jednak nigdy nie będzie to tak samo dobre jak skompilowanie programu dla każdej platformy, która definiuje własny format pliku wykonywalnego.
Po prostu dystrybuuj program w dwóch wersjach: na Linuksa i na Windowsa ew. na inne platformy, które chcesz obsługiwać.
// edit, faktycznie, nie mam pojęcia czemu napisałem exe. |
|
pekfos |
» 2014-07-02 22:42:19 Na Windows i MS-DOS jest EXE zaś na systemach Linuksowych jest ELF. |
EXE to tylko najpopularniejsze rozszerzenie programów. Format to PE. |
|
Sakatoku Temat założony przez niniejszego użytkownika |
» 2014-07-03 04:07:56 No dobrze rozumiem że problemem będzie uruchomić linuksowy program na windowsie i nawet nie o to mi chodzi bo to bezsensu jak dla mnie...
Chodzi mi o to czy jak napisze program pod debianem to czy uruchomi się gdy ktoś będzie miał ten sam system na innym komputerze.
Czy jak napisze program obojętnie jaki na linuksie skompiluje go i wrzucę go na pendrive i zaniosę go do kolegi to czy będzie u niego działał od razu czy po prostu będzie musiał skompilować go na nowo u siebie :D
Kurcze chyba najszybciej to sprawdzę jak postawie kilka wersji linuksa w virtualboxie xD |
|
akwes |
» 2014-07-03 08:31:22 Wszystko zależy od tego co jest w programie. Jeżeli korzystasz z Kernel API z wersji kernela 3.0 nie licz, że program pójdzie na kernelu 2.4. I to samo dotyczy się glibc. Można zaryzykować tezę, że pisząc program mając na uwadze jego przenośność to żadnych problemów nie powinno być. Jeżeli program piszemy bez tej uwagi - zawsze coś może pójść nie tak i pojawić się niezgodność. Wszak daleko to szukać analogi w Windowsach? Czy wszystko z Windows XP działa na Windows 8? I czy wszystko z Windows 8 działa na Windows XP? I czy u Ciebie na XP i u kolegi na XP zawsze działa to samo?
Odpowiedzią może być: generalnie tak. Ale nie jest to precyzyjna informacja. |
|
DejaVu |
» 2014-07-03 11:29:14 Jeżeli kod nie będzie używał bibliotek typowych dla jednej platformy (np. <windows.h> dla Windowsa), to będziesz mógł ten sam kod skompilować pod Windowsem jak i pod Linuxem. Aplikacja dystrybuowana na Windowsa musi być skompilowana pod Windowsem, natomiast aplikacja dystrybuowana pod Linuxa musi być skompilowana pod Linuxem. Kod źródłowy może być ten sam (choć tu pojawią się oczywiście problemy z kompilacją, jeżeli użyjesz narzędzi typowych dla jednej platformy). |
|
m4tx |
» 2014-07-03 19:36:07 Aplikacja dystrybuowana na Windowsa musi być skompilowana pod Windowsem, natomiast aplikacja dystrybuowana pod Linuxa musi być skompilowana pod Linuxem. |
Nie. Patrz: cross-kompilacja. |
|
« 1 » |