abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 03:55 | IT novinky

    Americká technologická společnost Meta Platforms se dohodla, že zaplatí až zhruba 18 miliard dolarů (asi 373 miliard Kč) za mimosoudní urovnání sporu o závislosti dětí na sociálních sítích a provede významné změny pro jejich používání mladistvými. Téměř tři desítky států USA firmu v roce 2023 obvinily z toho, že sítě Facebook a Instagram vědomě navrhla tak, aby u dětí vyvolávaly závislost, a zatajovala tyto dopady před veřejností. Firma se

    … více »
    Ladislav Hagara | Komentářů: 1
    dnes 02:55 | Komunita

    Byl publikován aktuální přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Blíží se vydání podporující čipy M3. Vývojáře lze podpořit na GitHub Sponsors a Open Collective.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Kancelářský balík LibreOffice byl vydán ve verzi 26.8. Mimo jiné vylepšuje typografii a kompatibilitu s formáty MS Office, více v poznámkách k vydání.

    |🇵🇸 | Komentářů: 0
    včera 14:55 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.8. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 6
    včera 11:44 | Nová verze

    Byla vydána nová verze 23.1.0, tj. první stabilní verze z nové řady 23.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools, Libc++, Polly a Flang.

    Ladislav Hagara | Komentářů: 0
    včera 02:11 | Nová verze

    Google Chrome 152 byl prohlášen za stabilní. Nejnovější stabilní verze 152.0.7977.64 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 327 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 01:11 | Komunita

    Před 35 lety, 25. srpna 1991, oznámil Linus Benedict Torvalds v diskusní skupině comp.os.minix, že vyvíjí (svobodný) operační systém (jako koníček, nebude tak velký a profesionální jako GNU) pro klony 386 (486), že začal v dubnu a během několika měsíců by mohl mít něco použitelného.

    Ladislav Hagara | Komentářů: 3
    25.8. 16:33 | IT novinky

    Apple představil čipy M6 a M5 Ultra, Mac mini s M6 nebo M5 Pro a Mac Studio s M5 Max nebo M5 Ultra. Fedora Asahi Remix zatím podporuje jenom M1 a M2.

    Ladislav Hagara | Komentářů: 21
    25.8. 14:11 | Komunita

    Firefox 157 přinese zapnutou podporu rastrového grafického formátu JPEG XL. Založena je na v Rustu napsané implementaci jxl-rs používané i v Chrome a Chromiu.

    Ladislav Hagara | Komentářů: 0
    25.8. 02:11 | Nová verze

    Vanilla OS 3 „Reunion“ byl vydán. Tato na Debianu „Sid“ založená desktopová distribuce s transakčními aktualizacemi „neměnného“ základního systému (ABRoot) nově podporuje architekturu arm64 (vedle x86-64), podporuje reprodukovatelné sestavení většiny balíčků a vylepšuje systémové nástroje. Vlastní meta-správce balíčků APX nyní používá Distrobox v2 a je dostupný i pro jiné distribuce.

    |🇵🇸 | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (19%)
     (29%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2502 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: C++ a source

    8.6.2011 10:38 ubka7617
    C++ a source
    Přečteno: 515×

    Ahojte skusal som pustat skript cez prikaz source.

    V skripte je iba TEST=1500.

    Po skonceni mi echo $TEST vypise hodnotu premennej test.

    Skusal som ale nacitat tuto premennu do c++ programu a tam mi vyhodi ze je prazdna.

    c program:

    char * TEST;

    system(" /bin/bash -c \"source /home/test.sh\"");

    TEST = getenv("TEST");
    if (TEST == NULL) {
    cout << "Premenna TEST nema ziadnu hodnotu" << endl;
    }

    else{
    cout << "Hodnota premennej je : " << TEST << endl;
    }

     

    Kde robim chybu ked mi nenacita danu premmennu aj ked ju v bashi pozna  ?

    Dakujem

    Odpovědi

    8.6.2011 10:54 Kit
    Rozbalit Rozbalit vše Re: C++ a source
    Proměnná TEST platí pouze pro proces /bin/bash, zpět do rodiče (tvého programu) se její obsah nepřenáší, s ukončením shellu její hodnota zaniká.
    8.6.2011 10:57 ubka7617
    Rozbalit Rozbalit vše Re: C++ a source
    a je mozne tu premennu nacitat bez toho aby tam bolo export test=1500 do c programu ?
    8.6.2011 11:07 blondak | skóre: 36 | blog: Blondak | Čáslav
    Rozbalit Rozbalit vše Re: C++ a source
    A proč ji nepředat jako parametr?
    Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
    8.6.2011 11:54 ubka7617
    Rozbalit Rozbalit vše Re: C++ a source
    lebo v tom skripte sa budu generovat hodnoty parametrov, bude ich viac
    8.6.2011 12:40 kuka
    Rozbalit Rozbalit vše Re: C++ a source
    Ze si program v C spousti bash, ktery spusti skript a tim preda zpet programu nejake parametry formou env promennych, by bylo dost ujete, i kdyby to technicky fungovalo. Mozna kdyz nastinis, co vlastne resis za problem, tak ti nekdo navrhne "obvykle" reseni.
    8.6.2011 13:24 blondak | skóre: 36 | blog: Blondak | Čáslav
    Rozbalit Rozbalit vše Re: C++ a source
    a co použít popen a výsledek vytisknout a výstup pak rozparsovat
    #include <stdio.h>
    #include <stdlib.h>
    
    int main( int argc, char *argv[] )
    {
    
      FILE *fp;
      int status;
      char buff[1035];
    
      fp = popen("/bin/bash -c 'TEST=1500;echo $TEST'", "r");
      if (fp == NULL) {
        printf("Failed to run command\n" );
        exit;
      }
    
      while (fgets(buff, sizeof(buff)-1, fp) != NULL) {
        printf("%s", buff);
      }
    
      pclose(fp);
    
      return 0;
    }
    
    
    nejsem zrovna céčkař, ale mohlo by to jako nakopnutí stačit
    Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
    8.6.2011 12:09 m
    Rozbalit Rozbalit vše Re: C++ a source
    Ahoj, tak to zkus takhle.

    system(" /bin/bash -c \". /home/test.sh\"");

    Sam jsem zvedavej jestli to pomuze.
    8.6.2011 12:36 kuka
    Rozbalit Rozbalit vše Re: C++ a source
    ne nepomuze, jak uz bylo vysvetleno vyse, podproces nemuze nastavit environment svemu rodici
    8.6.2011 14:10 ubka7617
    Rozbalit Rozbalit vše Re: C++ a source

    je mozne aby sa z toho bash scriptu dala vyvolat aj funkcia, ktora je definovana v c++ ?

    napr. na vypis chabovej hlasky a ukoncenie programu, a v pripade ze na konci bude return 0; v tom skripte tak cely krrk bude povazovani za spravny a bude program pokracovat dalej  ?

    8.6.2011 14:51 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: C++ a source
    Obávám se, že bude potřeba, abyste si nejdřív něco nastudoval o tom, co se vlastně děje (a) při spuštění shellového skriptu, (b) při kompilaci a linkování programu napsaného v C a spuštění výsledného nativního spustitelného souboru. Pak teprve pochopíte, proč jsou otázky, které pokládáte, úplně absurdní.
    8.6.2011 15:15 Kit
    Rozbalit Rozbalit vše Re: C++ a source
    Je poměrně obvyklé napsat hlavní program jako skript, ze kterého volám dílčí programy napsané v nějakém kompilovaném jazyce, třeba v C++. Takovému procesu se předává konfigurace poměrně snadno, např. přes kolonu nebo parametr. Obráceně to jde sice také, ale moc rozumné to není.
    8.6.2011 15:54 ubka7617
    Rozbalit Rozbalit vše Re: C++ a source

    co sa tyka mojich otazok - len sa ucim c++

    mam podobny program ktory vie take veci je robeni v c++ ale zial nie su k nemu zdrojaky

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.