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

220

    Vastaukset 8

    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. Törkeä petosepäily Suomussalmella

      Uutisoi maikkari. Uhrin nimiin on nostettu pankkilainaa, hänet on saatu sijoittamaan hevosiin ja ostamaan autoja. Ei ta
      Suomussalmi
      83
      3287
    2. Poliisi etälamautti, sitten pahoinpiteli

      Vaikeasti kehitysvammaisen niin vakavasti että kuoli pian sairaalassa. Ei osannut kehitysvammainen heti noudattaa polii
      Maailman menoa
      374
      1210
    3. Anni Ihamäki saa tylyä kommenttia TTK:sta - Erityisesti tämä "vääryys" ärsyttää

      Kaikille ei ole mieleen se, että Anni Ihamäki on mukana uudella Tanssii Tähtien Kanssa -kaudella. Ihamäki saa varsin ty
      Kotimaiset julkkisjuorut
      36
      879
    4. Mies, olen pahoillani kun olen kuvitellut

      Että pitäisit minusta. En sitä mistään tähdistä kuitenkaan lukenut, mulle vaan tuli jostain semmoinen tunne, kun itse ty
      Ikävä
      65
      815
    5. Päivän Riikka: Pandan suklaatehdas Jyväskylästä Viroon

      Menkää töihin! Viroon! --- Liki sata vuotta kestänyt suklaantuotanto makeisvalmistaja Pandan tehtaalla Vaajakoskella pä
      Maailman menoa
      170
      721
    6. Mitä et ole valmis sietämään ihmissuhteissasi ja miksi?

      Aiemmin jo kyseltiin mitkä vaatimukset olivat mielestänne liiallisia. Kyselläänkin nyt sitä, että millaisilla asioilla s
      Sinkut
      271
      704
    7. Tiesitkö? Vappu Pimiän ensimmäinen aviomies ei ole Teemu-rakas

      Vappu Pimiä on tätä nykyä naimisissa Teemu Huuhtasen kanssa. Pimiä on toista kertaa naimisissa, sillä ensimmäinen liitto
      Kotimaiset julkkisjuorut
      22
      650
    8. Älä nyt ylikuormitu vaikka sinusta pidänkin rakas nainen

      Tiedän, että olet minulle oikea. En halua pilata tätä juttua malttamattomuudella, mutta epäilen. Haluan vain olla lähel
      Ikävä
      31
      598
    9. Sysmä tarvitsee päätöksiä

      Sysmä tarvitsee päätöksiä – ei p*anjauhantaa** Kirjoitan kuntapolitiikan ulkopuolisena tarkkailijana. Sysmän poliittinen
      Sysmä
      17
      575
    10. Älä katoa elämästäni

      Kävelyllä mietin olisitpa varjo takanani vierelläni sivullani Älä katoa koskaan ole siinä pidä kädestäni kiinni ole kan
      Ikävä
      31
      545
    Aihe