Lazarus a C++

Sekcia: Programovanie 04.04.2009 | 18:17
Avatar dzairo Teraz nic  Používateľ
Ahoj .
Dalsia otazka pre skusenych.
Zacal som sa hrat s programom EMC2 teda CNC riadenie pod Lin.
Je tam graficke prostredie ktore je pekne (Axis) ale aj nieco jednoduchsie (TkEmc).
A rozmyslal som ze si spravim vlastne GUI lebo prerobit Axis (Python) je strasne komplikovane.
Otazka .
Da sa nejako z Lazarusa linkovat externa kniznica alebo co ked je to c C++ alebo v C???
Som v tom zaciatocnik a preto sa neviem ani ako opytat.
EMC2 mam cely zdrojovy a vidim ako to tam funguje ale je to pisane rucne nie v nejakom IDE. Preto je to dost komplikovane.
Ale je tam jeden program na jednoduche ovaladanie cez prikazovy riadok a ten funguje jednoducho. No ako by som vedel ten isty program prepisat do Lazarusa.
vedel by niekto poradit????


dakujem

PS: uz som to v tomto tuna na forach spomynal
    • Re: Lazarus a C++ 04.04.2009 | 19:10
      Avatar Miroslav Bendík Gentoo  Administrátor
      Osobne by som odporúčal robiť gui priamo v c++ (qt4 je pekne komfortné) čím by problém padol. Čo sa týka použitia c++ v pascale .. dá sa urobiť binding .. možno by to išlo aj automaticky.
      • Re: Lazarus a C++ 04.04.2009 | 20:11
        Avatar dzairo Teraz nic  Používateľ
        pozriem sa na to ale preferum nejake schopne IDE.
        program na shell command uz existuje len je ho treba trosku prikraslit na grafike

        zatim vdaka

        PS popis viac ohladom binding pre lazarus ak mozes
        • Re: Lazarus a C++ 04.04.2009 | 20:31
          Avatar Miroslav Bendík Gentoo  Administrátor
          QtCreator vyzerá ako celkom schopné IDE (i keď osobne nepoužívam).
          • Re: Lazarus a C++ 04.04.2009 | 20:47
            Avatar borg Fedora  Administrátor
            bohuzial verzia 1.0 je menej stabilna ako boli beta verzie. a tak som dufal, ze to bude konecne nejake poriadne IDE
            • Re: Lazarus a C++ 04.04.2009 | 21:45
              Avatar Miroslav Bendík Gentoo  Administrátor
              Nejako som to nespozoroval .. funguje mi to absolútne bez problémov (ale je fakt, že max. tak hello world som tam skúšal, namiesto IDE používam radšej jednoduché nástroje ...).
              • Re: Lazarus a C++ 04.04.2009 | 22:26
                Avatar borg Fedora  Administrátor
                no mne to slo vsetko v poriadku, len posledne 2-3 dni sa to zblaznilo. uz som to submitol ako bug.
                • Re: Lazarus a C++ 05.04.2009 | 11:29
                  Avatar Miroslav Bendík Gentoo  Administrátor
                  Keď to začalo robiť len teraz možno pomôže vymazanie nastavení. Mimochodom taká zákerná otázka .. dá sa ten zoznam súborov vľavo zobraziť nejako rozumne (čítaj: aby tam bola adresárová štruktúra, nie všetko nahádzané na jednej kope)?
                  • Re: Lazarus a C++ 05.04.2009 | 12:01
                    Avatar borg Fedora  Administrátor
                    asi nie, tiez mi to vadi ze vsetky suboru su v koreni projektu. mozno sa to da upravit, vytvorit si src adresar, presunut tam zdrojaky a potom upravit projektovy subor, aby zdrojaky hladal tam
                    • Re: Lazarus a C++ 05.04.2009 | 16:31
                      Avatar Miroslav Bendík Gentoo  Administrátor
                      Mám taký pocit, že som niekde na screenshote videl adresárovú štruktúru .. ale fakt neviem kde to bolo. Mám taký pocit, že takúto základnú vlastnosť by mal ovládať aj obyčajný textový editor ...
    • Re: Lazarus a C++ 04.04.2009 | 19:31
      peto   Návštevník
      my osobne robime CNC riadenie na Linux-e uz od roku 2001. A mozem ti povedat, ze prechod na akekolvek IDE na navrh GUI bol len komplikaciou a vobec nepomohol, skor projektom uskodil- ako Kylix tak Eclipse, aj ked ten asi najmenej. tak Netbeans

      EMC2 je pre nas nepouzitelne lebo je centralizoavne a nie distribuovane z pohladu HW.

      Kniznicu vies linkovat vzdy, aj z Pascalu ale musis davat pozor na tri veci

      1) Endian - t.j poradie byte-ov vo viacbajtovych premnnych ako int/long/float/double... Musis mat funkcie na prehadzovanie endianom inak citas z kniznce v inom jazyku ine cisla.. a zapisujes tam tiez ine cisla - Java a C maju endiuany naoipak urcite

      v C je short
      11111111 00000000
      v java je v pamati
      00000000 11111111

      2) poradie argumentov na zasobniku/stacku - C-cko ma ine poraide vkladanie argumenotv funkcie alp Basic a tusim aj Pascal.

      t..j

      v C je funkcia a teda aj v kniznici
      fnc(int arg1,int arg2, long arg3)

      ale ak chces volat futo funkciu z Basicu musis ju deklarovat ako

      fnc( long arg3,int arg2,int arg1)

      3) dlzku premennych
      int v Java je 32 bitovy
      int v C je 16 bitovy
      long v C je 32 bitovy
      long v Java je 64 bitovy
      long long v C je 64 bitovy ....
      • Re: Lazarus a C++ 04.04.2009 | 20:29
        Avatar Michal Nánási Ubuntu 11.04  Používateľ
        int je v C 32 bitovy
        Hi! I'm a .signature virus! Copy me into your ~/.signature to help me spread!
        • Re: Lazarus a C++ 04.04.2009 | 20:58
          Avatar dzairo Teraz nic  Používateľ
          peto a pouzivali ste EMC2 alebo nieco ine alebo vlastne.
          Mne sa na jednoduche frezky paci Axis ale je komplikovani na editovanie.
          Neviem v nom ani ciarku spravit naviac. skusam to cez emcrsh a potom nejaky vlastni GUI program co iba cez telnet posiela a prima prikazy. ale som v tom este len zacal a treba mi este vela roboty spravit. no to je premna najschodnejsia cesta.

          to co sa tyka zapisu , citanie dat no preto by som radesj isiel cez ten telnet.

          kto tu pouziva EC2 ????

          zdravim
          • Re: Lazarus a C++ 05.04.2009 | 11:30
            peto   Návštevník
            vlastny kod, EMC nebolo dostatocne - robime plazmovu/lasrovy rezacku a hlavne pouzivame CANbus a EMC to nevie - EMC vie len karty v PC-cku
        • Re: Lazarus a C++ 05.04.2009 | 16:32
          peto   Návštevník
          pri kompilacii na 64 bit CPU mas pravdu, ale pri kompilacii do 32 bit kodu, je to vacsinou len 16 bit - aj ked to zavisi od kompilatora
          libgcc z gcc 3.x rady ma urcite 16 bit int. a napr. stare Borland C 2.x malo 16 bit int..

          Priznam sa 4.x radu gcc som neoveroval...
    • Re: Lazarus a C++ 04.04.2009 | 22:44
      Avatar Zefram Cochrane MS Windows Vista Ultimate 64bi  Používateľ
      - C kniznica sa da pouzit v pohode (sucasto fpc je program h2pas ktory konvertuje .h na .pas)

      - C++ sa da tiez ale asi musis najprv napisat C wraper a ten konvertovat ako v bode 1
    • Re: Lazarus a C++ 04.04.2009 | 22:50
      Avatar Zefram Cochrane MS Windows Vista Ultimate 64bi  Používateľ
      Ak funguje ten program cez prikazovy riadok mozes spravit riadenie tak ze tvoj GUI bude len frontend k tomu prikazovemu riadku. Ja som takto napr. ovladal mplayer v slave mode (tiez cez stdio). Zdojaky su tu, ten kod na komunikaciu je pipedprocess.
      • Re: Lazarus a C++ 05.04.2009 | 17:33
        Avatar dzairo Teraz nic  Používateľ
        Vsetko si este raz pozriem a uvidim aku moznost si vyberiem.
        Da sa to ovladat aj cez HAL z prikazoveho riaku ale to je potm komplikovane lebo musim definovat vsetky veci z mojho programu. ak uz pouzijem vrstvu NML tak kopec roboty to uz uroby zamna. uvidim co si vyberiem a co bude schodnejsia cesta.

        vdaka