Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Programowanie w linuksie

Ostatnio zmodyfikowano 2014-07-03 19:36
Autor Wiadomość
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
P-113122
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.
P-113144
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.
P-113150
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
P-113153
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.
P-113156
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).
P-113166
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.
P-113214
« 1 »
  Strona 1 z 1