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. Ny se loppuu ( Kuhmo)

      Yhtiö on myyty. Notta yyteet meleko äkkiä, notta. Pelastautukoon ken voi. Notta se on tuulista pian.
      Kuhmo
      50
      1287
    2. Parikymppinen hakkasi nelikymppisen kriittiseen tilaan

      Ja ihminen jäi junan alle lautiosaaressa...paljon on taas sattunut ja tapahtunut. Ketähän nämä uhrit mahtaa olla 🤔 htt
      Kemi
      15
      1018
    3. Harmi että välimme

      Menivät niin solmuun.
      Ikävä
      93
      977
    4. Ajatuksia

      Mitä ajatuksia hän herättää tänään?
      Ikävä
      77
      673
    5. Hei sinä rakas mies.

      Milloinkaan kohdataan? Toivottavasti pian....❤️
      Ikävä
      37
      668
    6. Katse

      Miltä se tuntuu, kun hän katsoo sinua?
      Ikävä
      26
      441
    7. Nainen, miten suhtautuisit

      Jos mies ehdottaisi tapaamista? Entä siihen, jos mies kertoisi tapaamisessa tunteistaan ja haluaisi seurustella?
      Ikävä
      53
      440
    8. Mille kirjaimelle

      toivotat hyvää yötä , kuka on mielessäsi kun menet nukkumaan?
      Ikävä
      25
      431
    9. Kaivattusi tärkein ulkoinen tuntomerkki

      Onko jokin muu kuin yleinen kuten kaunis, laiha. hyväkroppainen jne.
      Ikävä
      15
      429
    10. Voitko kirjoittaa mulle tänne mies?

      Jos täällä käyt? Ihan kaverimielessä, jos ei muuten? Haluaisin jutella sinun kanssa. Mulla on edelleen jotenkin niin h
      Ikävä
      30
      413
    Aihe