Visual Studiosta linuxiin c++

harrastelija1

Tarkoitus olisi saada harrastelijatuotoksia myös linux-yhteensopivaksi Visual Studio 2017 Community ohjelmasta. Grafiikan piirtoon on SFML-kirjasto. Onko toiveita saada toimimaan pienellä vaivalla vai pitääkö kääntää linuxissa?

19

<50

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Turbo-Urpo1
      • harrastelija1

        Kiitos vastauksesta. Joo tuo SFML toimii linuxissa mutta esitin kysymyksen huonosti. Eli miten hankalaa on saada VS c koodi toimimaan linuxissa? Ehkä Wine olisi helpoin? Täytyy testailla.


      • Kvantti

      • harrastelija1 kirjoitti:

        Kiitos vastauksesta. Joo tuo SFML toimii linuxissa mutta esitin kysymyksen huonosti. Eli miten hankalaa on saada VS c koodi toimimaan linuxissa? Ehkä Wine olisi helpoin? Täytyy testailla.

        Kielihän on sama että ei siinä mitään eroa ole ja se on se ja sama millä editorilla kirjoittaa.

        Eksoottinen buildijärjestelmä tai joku rajapinta/framework riippuvuus siellä vaikuttaa. Jos riippuvuudet rajoittaa SFML:n niin ja buildaa vaikka CMakella niin ei siinä kääntämisessä mitään esteitä pitäisi olla.

        Tietysti kun kyse on natiivikoodista niin helpointa kääntää siellä missä halutaan toimivan. C ohjelmoijille suosittelen kyllä vahvasti SDL:ää ja kääntämistä Emscriptenillä niin saa käännettyä multimedioita niin, että sama käännetty binääri toimii joka puolella.


      • dfggdsgsg
        M-Kar kirjoitti:

        Kielihän on sama että ei siinä mitään eroa ole ja se on se ja sama millä editorilla kirjoittaa.

        Eksoottinen buildijärjestelmä tai joku rajapinta/framework riippuvuus siellä vaikuttaa. Jos riippuvuudet rajoittaa SFML:n niin ja buildaa vaikka CMakella niin ei siinä kääntämisessä mitään esteitä pitäisi olla.

        Tietysti kun kyse on natiivikoodista niin helpointa kääntää siellä missä halutaan toimivan. C ohjelmoijille suosittelen kyllä vahvasti SDL:ää ja kääntämistä Emscriptenillä niin saa käännettyä multimedioita niin, että sama käännetty binääri toimii joka puolella.

        Mitenkäs muuten tuo Qt? Eikös se kääntyisi samasta koodista mille vaan?
        Itse olen ihan harrastajakoodaaja vaan mutta tuolla teen niin sitten sama ohjelma toimii tismalleen samannäköisenä Raspberryssä kun sen siinä vaan kääntää.
        Qt on aloittelijalle niin pirun helppo ympäristö, että sillä saa samantien toimivaa aikaiseksi.
        Mikäänhän ei tietenkään takaa ettäkö tuotos olisi hyvän ohjelmointitavan mukainen..


      • ei-jatkoon
        dfggdsgsg kirjoitti:

        Mitenkäs muuten tuo Qt? Eikös se kääntyisi samasta koodista mille vaan?
        Itse olen ihan harrastajakoodaaja vaan mutta tuolla teen niin sitten sama ohjelma toimii tismalleen samannäköisenä Raspberryssä kun sen siinä vaan kääntää.
        Qt on aloittelijalle niin pirun helppo ympäristö, että sillä saa samantien toimivaa aikaiseksi.
        Mikäänhän ei tietenkään takaa ettäkö tuotos olisi hyvän ohjelmointitavan mukainen..

        Kuvitteletko että M-Kar jotain ymmärtää asiasta, kun sille vastailet


      • fdsgdfgsdfgfdgf
        ei-jatkoon kirjoitti:

        Kuvitteletko että M-Kar jotain ymmärtää asiasta, kun sille vastailet

        kyllä se oman kokemukseni perusteella noista eniten täällä tietää.


      • dfggdsgsg kirjoitti:

        Mitenkäs muuten tuo Qt? Eikös se kääntyisi samasta koodista mille vaan?
        Itse olen ihan harrastajakoodaaja vaan mutta tuolla teen niin sitten sama ohjelma toimii tismalleen samannäköisenä Raspberryssä kun sen siinä vaan kääntää.
        Qt on aloittelijalle niin pirun helppo ympäristö, että sillä saa samantien toimivaa aikaiseksi.
        Mikäänhän ei tietenkään takaa ettäkö tuotos olisi hyvän ohjelmointitavan mukainen..

        Se kääntyy aika moneen paikkaan joo. Tuo SDL mahdollistaisi sen, että toimii uudelleenkääntämättä joka puolella kun kääntää .wasm muotoon ja sitä sitten ajaa selaimet, ja saa myös käännettyä natiivia. Temppu onnistuu Emscriptenillä.

        Raspberry Pi:ssä nyt varmaan haluaa vähän viritellä koodia että siihen sitten kääntäisi vaikka natiivin mutta se ei tarvitsisi koodiin muutoksia. SDL:n saa käännettyä natiiviksi ja selaimen ajettavaksi: https://www.youtube.com/watch?v=eh-yy7f1bvQ

        Qt on kiva mutta se ei kuitenkaan ole ideaalinen siirrettäviin grafiikkaohjelmiin.


    • harrastelija1

      Hyvinhän se onnistui. Kääntyi suoraan Code Blocksilla kunhan sai nuo SFML kirjastot liitettyä siihen. Yksi sähläys oli kun en tajunnut että linuxissa (Ubuntussa)tiedostot on "case-sensitive" esim .PNG ja .png päätteet viittaavat eri tiedostoon.

      • dfsgsdfgsdfgf

        >>"case-sensitive>>

        juup, tuo tulee usein vastaan kun arduinon kirjastoja käyttää ja ne on monet windows-miesten koodaamia. itse kirjasto toimii ihan ok, kun käy säätämässä nimet yhteneviksi koodin kanssa.


      • hauskojaROPOTTEJA

        Huomasin että lasten roboteissa missä käytetään alustana arduinon juttuja, niin: huomattavasti muistuttaa jotain Visual BASIC -kieltä se niiden koodi niissä roboteissa.

        Kokeilimme sellaista erästä että miten se seuraa se robotti esimerkiksi lattiaan piirrettyä viivaa pohjassa olevalla anturillaan, yrittää seurata, mutta kun tuollaisissa voi olla niitä antureita millä "näkevät" mitä näkevätkin ja osaavat "kääntyä", niin iso labyrintti oikein teipeistä lattiaan ja kokeilee pääseekö se robotti sieltä läpi ja missä ajassa?

        Hauskoja robotteja on jo lapsillakin.


    • reaaliaikafyysinenRAM

      Oikein ikävimpiä virheilmoituksia on sitten kun grafiikkakiihdyttien ja sun muiden kanssa koodaat jotain Direct3D-ajureita sun muita, että DMA-muistisiirron virhe: jossain fyysisessä muistissa joku tilattu DMA (Direct Memory Access) -ajoivat päällekäin muistisiirroissa jossain :XD

      Ohjelmointiympäristö ilmoittaa että: DMA Buffer Overrun ERROR!
      - Olet tilannut seuraavalta vapaalta DMA-kanavalta muistisiirtoja ja jossain on sattunut virhe :D

      • tehokastakoodia

        Sitten vielä kun olet tilannut kiihdyttikorttien kanssa jotain RISC-prosessorien koodeja DMA:n kanssa että siirretään DMA:n avulla niitä suoritettavaksi keskusmuistin fyysisiin osoitteisiin, voi vahingossa jäädä joku DMA:n siirto päälle jos et katkaise sitä, mitä tahansa voit tehdä muuta, ja silti on joku DMA:lta tilattu muistisiirto joka on silti huomaamattomana päällä koko ajan :D

        Vähän ehkä niin yksityiskohtaisia juttuja, hardware-tason c-juttuja.... no vielä sanon että: DMA-1 on numeroltaan sellainen, että se ohjaa sitten toiselle vapaalle DMA-kanavalle sen muistisiirron fyysisistä osoitteista toisiin sitten, jos on prioriteetti sillä siirrolla 1, DMA 0 on tietystikin keskusmuistin päivityksessä....


      • tehokastakoodia kirjoitti:

        Sitten vielä kun olet tilannut kiihdyttikorttien kanssa jotain RISC-prosessorien koodeja DMA:n kanssa että siirretään DMA:n avulla niitä suoritettavaksi keskusmuistin fyysisiin osoitteisiin, voi vahingossa jäädä joku DMA:n siirto päälle jos et katkaise sitä, mitä tahansa voit tehdä muuta, ja silti on joku DMA:lta tilattu muistisiirto joka on silti huomaamattomana päällä koko ajan :D

        Vähän ehkä niin yksityiskohtaisia juttuja, hardware-tason c-juttuja.... no vielä sanon että: DMA-1 on numeroltaan sellainen, että se ohjaa sitten toiselle vapaalle DMA-kanavalle sen muistisiirron fyysisistä osoitteista toisiin sitten, jos on prioriteetti sillä siirrolla 1, DMA 0 on tietystikin keskusmuistin päivityksessä....

        Noi laitteistonläheiset jutut kannattaa eristää lähes aina, että ohjelmointi onnistuu mahdollisimman korkealla tasolla ilman typeriä bugeja.

        Parhaimmillaan tarkoittaa sitä, että ei esimerkiksi tarvitse tehdä mitään kopiointia muistissa kun korkean tason kieli tietää jonkun muistialueen muuttumattomaksi ja voikin automaattisesti käyttää viittauksia.

        Jos sitten on suorituskyky todella kriittistä niin on kyllä yksi mahtiratkaisu: Tekee ensiksi korkean tason kielellä toimimaan, ja sitten hinkkaa saman uusiksi C:llä ja verifioi toteutuksen korkeantason versiota vasten.

        Tuolla tavalla saa tehtyä bugittomia ohjelmia.


      • näyttihienolletuo

        Olisi kyllä mukava kun olisi näitä RISC-kiihdyttien ja ajureiden ohjelmoijia Linux-puolellakin, kun testailin Ubuntun uusinta, näytti aivan fiksulle tuo, mutta kaikki ajurit puuttuvat, "kengät on mutta nauhat puuttuvat" -tyyliiin.

        Microsoftillahan on erittäinkin hyvä netistäkin saatava apu ohjelmointiin, itseasiassa sitten jotkut todella rankkoja hardware-koodia tarvitsevat jutut, ja tehokkaat vaativat aina tutustumista kyseisen kiihdytinkortin omaan sisäiseen koodiin jne..

        Oikeasti ihastuinkin vähän Ubuntun ulkonäköön, mutta sitten tökkäsi siihen se tutustuminen, kun ei saa edes nettiyhteyttä jos ei ole nettiyhteyttä, vähän kuin myyt sitten BluRay-levyn CDROM-aseman omistajalle...


      • näyttihienolletuo kirjoitti:

        Olisi kyllä mukava kun olisi näitä RISC-kiihdyttien ja ajureiden ohjelmoijia Linux-puolellakin, kun testailin Ubuntun uusinta, näytti aivan fiksulle tuo, mutta kaikki ajurit puuttuvat, "kengät on mutta nauhat puuttuvat" -tyyliiin.

        Microsoftillahan on erittäinkin hyvä netistäkin saatava apu ohjelmointiin, itseasiassa sitten jotkut todella rankkoja hardware-koodia tarvitsevat jutut, ja tehokkaat vaativat aina tutustumista kyseisen kiihdytinkortin omaan sisäiseen koodiin jne..

        Oikeasti ihastuinkin vähän Ubuntun ulkonäköön, mutta sitten tökkäsi siihen se tutustuminen, kun ei saa edes nettiyhteyttä jos ei ole nettiyhteyttä, vähän kuin myyt sitten BluRay-levyn CDROM-aseman omistajalle...

        Raudastahan se riippuu... Ei kaikki softa ole kaikelle.

        Itse ottaisin tuohon Raspberry pin ja Rasbianin jos haluaisin rautaa hinkata.


    • sillälaillajoo

      Tuollainen juttu on todellakin niin että: ensin kysyt väylien ajurilta tietoja, sitten se palauttaa emolevyn tietoja mitä laitteita on kytketty ja minkälaisia ominaisuuksia niillä on.... tulee pitkä lista sitten mitä voit määrätä ohjelmoijana mitä haluaisit niiden tekevän...

      Emolevyn kaikki liitännät tulee väylien ajurit ja DMA-kanavat sun muut listassa tulee silloin, niistä vain valikoit sitten mitä haluat millekin tehtäväksi laittaa...

      DMA:n muistisiirroissa voi sattua jotain hassuja vahinkoja todellakin jos tilaat joitain erillisiä nopeita muistisiirtoja päällekäin suoraan erillisiltä kanavilta kiihdytinpiireille muistisiirtoja prosesorin ohi.. :D

    • ohjelmoiitseheh

      Huvittavaa kyllä itsellekin tuollainen, kun laitat pyynnön emolevyn ajurille että: mitä laitteita on kiinnitetty tälläkin hetkellä tietokoneeseen., emolevylle hardia laitat, tulee litaniaa että tällaisia grafiikkakiihdyttimiä ja kortteja on tällä hetkellä kytkettynä koneeseen _D

    • fyysinenaikajamuisti

      Tuollaisissa jutuissa noiden DMA-muistisiirtojen kanssa on sitten itse tarkkailtava niitä jotta muistiosoitteet eivät mene päällekäin: real-time, physical memory addresses :D

      Ikävä jos DMA-siirrot ajavat vahingossa päällekäin vaikka prosessorin cache-muistissakin, vahingossa :D

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

    Luetuimmat keskustelut

    1. Mitä ihmettä

      Kaipaat hänessä
      Ikävä
      103
      1515
    2. Välillä käy mielessä

      olisiko sittenkin ollut parempi, että emme koskaan olisi edes tavanneet. Olisi säästynyt monilta kyyneleiltä.
      Ikävä
      78
      1154
    3. Mitä oikein

      Näet minussa? Kerro.
      Ikävä
      84
      1074
    4. Lopeta tuo mun kiusaaminen

      Ihan oikeasti. Lopeta tuo ja jätä mut rauhaan.
      Ikävä
      139
      986
    5. Uskoontulo julistetun evankeliumin kautta

      Ja kun oli paljon väitelty, nousi Pietari ja sanoi heille: "Miehet, veljet, te tiedätte, että Jumala jo kauan aikaa sitt
      Raamattu
      573
      942
    6. Mika Muranen juttu tänään

      Jäi puuttumaan tarkennus syystä teolle. Useat naapurit olivat tehneet rikosilmoituksia tästä kaverista. Kaikki oli Muras
      Sananvapaus
      1
      897
    7. Hanna Kinnunen sai mieheltään tiukkaa noottia Tähdet, tähdet -kotikatsomosta: "Hän ei kestä, jos..."

      Hanna Kinnunen on mukana Tähdet, tähdet -kisassa. Ja upeasti Salkkarit-tähti ja radiojuontaja onkin vetänyt. Popedan Lih
      Tv-sarjat
      8
      872
    8. Kotipissa loppuu

      Onneksi loppuu kotipizza, kivempi sotkamossa käydä pitzalla
      Kuhmo
      19
      832
    9. Oho! Farmi-tippuja Wallu Valpio ei säästele sanojaan Farmi-oloista "Se oli niin luotaantyöntävää..."

      Wallu oikein listaa epämiellyttävät asiat… Monessa realityssä ollut Wallu Valpio ei todellakaan säästele sanojaan tippum
      Tv-sarjat
      9
      664
    10. Helvetin hyvä, että "hullut" tappavat toisensa

      On tämä merkillistä, että yritetään pitää hengissä noita paskaperseitä, joilla ei ole muuta tarkoitusta, kuin olla riida
      Kokkola
      8
      630
    Aihe