Kääntäminen eri suoritinarkkitehtuureille jne.

Kunhan_kysyn

Kokemattomana kysyn, että voiko jollakin ohjelmointikielillä tehdä koodista sellaista, että koodin voisi ilman muokkauksia kääntää erilaisille moderneille suoritinarkkitehtuureille (x86, PowerPC, ARM jne.) sekä erilaisille moderneille käyttöjärjestelmille (kuten Windows 10, OS X El Capitan ja Linux Mint) ja vieläpä näiden käyttöjärjestelmien rajapinnoille (kuten Win32 ja WinRT)? Vaativatko nuo aina omanlaisiaan koodinpätkiä, jotka tekevät samalla koodista epäyhteensopivan eri suoritinarkkitehtuureille, käyttöjärjetelmille ja rajapinnoille?

En tarkoita sitä, olisiko tuossa mitään järkeä, vaan sitä, onko se ylipäänsä mahdollista.

8

125

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Googleta vaikka gcc cross compile. Kyllä PC:llä voi kääntää koodia vaikka puhelimelle. C:llä nyt pysyy tekemään melkein mitä vain. Koodiin voi lisätä ohjauskäskyjä miten käännetään eri alustoilla. RawTherapee ja Gimp esimerkiksi ohjelmia jotka toimivat Linux ja Windows ympäristössä. Noita olen kääntänyt vain Linux ympäristössä koska se on helppoa.

    • Toki. Javascript toimii yleisesti ottaen ihan joka paikassa koodia muokkaamatta tai erikseen toiseen ympäristöön kääntämättä ja joka paikassa on myös se ajoympäristö.

      Muissa ohjelmointikielissä tulee väistämättä jotain rajoitetta siirrettävyyteen, että mihin siirtyy. Tulkattavat ja tavukoodiksi käännetyt kielet poistavat laitearkkitehtuuririippuvuuden mutta on riippuvuuksia ajoympäristöihin. Laitearkkitehtuurille käännettävät kielet tekevät riippuvuuden laitearkkitehtuurin että tarvitsee uudelleenkääntämistä ja riippuvuutta myös ajoympäristöön ja siihen miten se siirtyy.

    • 102030405060

      On monia kieliä, mitkä ovat niin sanotusti ajon aikana tulkattavia. Niitä yleensä voi käyttää ilman muutoksia eri alustoilla.

      Näitä ovat esim.
      -Python
      -Java
      -Javascript

      Toki sitten perinteisemätkin kielet joissakin tapauksissa ja vähän kehitysymäristöstä riippuen kääntyy hyvinkin helposti eri alustoille, esimerkiksi Qt:n C jutut.

    • lazz_o

      Lazarus (http://www.lazarus-ide.org/) tekee tuota. Se sallii myös ikkunointiympäristön vaihdon ("sama ohjelma voi olla gnome tai esim qt-tyylinen). Täysin samalla lähdekoodilla tehty ohjelma voi toimia esim. windowsissa ja raspberry pi:ssä (eri prosessoriarkkitehtuuri, eri käyttöjärjestelmä, eri ikkunointijärjestelmä). Lazarus on tehty lazaruksella ja se on saatavana esim. windowsiin ja raspberry piihin.

    • a1234

      Tulkattavien kielten kuten Javascript:n todellinen ongelma on isot sovellukset pienissä laitteissa koska ne vaativat ajoympäristön. Kokemuksesta tiedän että pilvipalveluna toteutettu outlook kaatuu omaan mahtavuuteensa pienillä laitteilla (ei MS-käyttis)

      • Myös käännettävät kielet tarvitsevat ajoympäristöä (kirjastot) ja Javascript tavallaan tavukoodia ja semmoista "assembleria" mihin käännetään koodi ja se minimoidaan.

        Muistin kulutus on sitten eri asia. Luonnollisesti optimaalisinta muistinkulutuksen kannalta on käyttää ekosysteemin natiivia, että sehän on se parhaiten optimoitu ja riippuu myös siitä miten sovellus tehdään.


      • a2345

        Alunperin pienille laitteille käännettävät ohjelmat ristikäännettiin eli ohjelmat kehitettiin PC:llä ja ohjelmat siirrettiin sitten pieniin laitteisiin (tätä tehdään tänäkin päivänä).


      • Tehdäänjoo

        Joo, kyllä yleensä kaikki sulautettu softa käännetään PC:llä, olipa kyseessä sitten puhelin, tukiasema tai laivan moottorin ohjausboksi. Monesti (lähes) samoista sourcekoodeista käännetään myös PC:lle yksikkötestibinäärit ja yleensä myös ennen oikean raudan valmistumista softaa käännetään erilaisille emulaattoreille tai protokorteille, joissa on yleensä yhtä sun toista poikkeavuutta lopulliseen rautaan verrattuna. C:llä näitä enimmäkseen koodataan, joskus osittain C :llakin. Laiteriippuvaiset asiat pyritään piilottamaan jonkinlaisen HAL- tai ajurirajapinnan taakse niin, että eri raudoille sovitus hoituu esim. käännöksen aikaisilla flägityksillä.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Katso: Ohhoh! Miina Äkkijyrkkä sai käskyn lähteä pois Farmi-kuvauksista -Kommentoi asiaa: "En ole.."

      Tämä oli shokkiyllätys. Oliko tässä kyse tosiaan siitä, että Äkkijyrkkä sanoi asioita suoraan vai mistä.... Tsemppiä, Mi
      Tv-sarjat
      130
      5225
    2. Voi kun mies rapsuttaisit mua sieltä

      Saisit myös sormiisi ihanan tuoksukasta rakkauden mahlaa.👄
      Ikävä
      32
      3267
    3. Haluan jutella kanssasi Nainen

      Olisiko jo aika tavata ja avata tunteemme...On niin paljon asioita joihin molemmat ehkä haluaisimme saada vastaukset...O
      Ikävä
      16
      1847
    4. Poliisiauto Omasp:n edessä parkissa

      Poliisiauto oli parkissa monta tuntia Seinäjoen konttorin edessä tänään. Haettiinko joku tai jotain pankista tutkittavak
      Seinäjoki
      22
      1820
    5. Onko mies niin,

      että sinulle ei riitä yksi nainen? Minulle suhde tarkoittaa sitoutumista, tosin eihän se vankila saa olla kummallekaan.
      Tunteet
      19
      1675
    6. Voitasko leikkiä jotain tunnisteleikkiä?

      Tietäisi ketä täällä käy kaipaamassa.. kerro jotain mikä liittyy sinuun ja häneen eikä muut tiedä. Vastaan itsekin kohta
      Ikävä
      71
      1521
    7. Tietysti jokainen ansaitsee

      Hän varmasti ansaitsee vain parasta ja sopivinta tietenkin, suon sen onnen hänelle enemmän kuin mielelläni. Aika on nyt
      Ikävä
      11
      1395
    8. Armi Aavikko Malmin hautausmaa

      Haudattiinko Armi arkussa Malmin hautausmaalle vai tuhkattiinko hänet? Kuka tietää asiasta oikein?
      Kotimaiset julkkisjuorut
      11
      1306
    9. Haluisin suudella ja huokailla

      ja purra kaulaasi ja rakastella sinua. Haluisin puristella rintojasi ja pakaroitasi. Ei sinulla taida olla kuitenkaan ni
      Ikävä
      16
      1287
    10. Miksi näin?

      Miksi vihervassut haluaa maahan porukkaa jonka pyhä kirja kieltää sopeutumisen vääräuskoisten keskuuteen? Näin kotoutumi
      Maailman menoa
      19
      1277
    Aihe