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í
×
    včera 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

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

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    22.12. 23:44 | Nová verze

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    21.12. 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    19.12. 17:00 | Komunita

    Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.

    Ladislav Hagara | Komentářů: 1
    19.12. 10:11 | IT novinky

    V pořadí šestou knihou autora Martina Malého, která vychází v Edici CZ.NIC, správce české národní domény, je titul Kity, bity, neurony. Kniha s podtitulem Moderní technologie pro hobby elektroniku přináší ucelený pohled na svět současných technologií a jejich praktické využití v domácích elektronických projektech. Tento knižní průvodce je ideální pro každého, kdo se chce podívat na současné trendy v oblasti hobby elektroniky, od

    … více »
    Ladislav Hagara | Komentářů: 11
    19.12. 03:11 | Komunita

    Linux Foundation zveřejnila Výroční zprávu za rok 2025 (pdf). Příjmy Linux Foundation byly 311 miliónů dolarů. Výdaje 285 miliónů dolarů. Na podporu linuxového jádra (Linux Kernel Project) šlo 8,4 miliónu dolarů. Linux Foundation podporuje téměř 1 500 open source projektů.

    Ladislav Hagara | Komentářů: 0
    Kdo vám letos nadělí dárek?
     (29%)
     (2%)
     (11%)
     (3%)
     (2%)
     (3%)
     (12%)
     (23%)
     (15%)
    Celkem 65 hlasů
     Komentářů: 17, poslední dnes 00:24
    Rozcestník

    Dotaz: C++ a source

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

    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.