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 19:55 | Zajímavý software

    Uživatelé mobilních telefonů s Linuxem si nyní mohou nainstalovat aplikaci Mobilní Datovka. Díky tomu je přístup k datovým schránkám dostupný i na zařízeních s mobilními linuxovými distribucemi, jako jsou například Mobian, NixOS Mobile, pmOS atd. Aplikace je dostupná na Flathubu.

    David Heidelberg | Komentářů: 0
    včera 13:33 | Komunita

    Software Freedom Conservancy v novém dokumentu shrnuje doporučení, jak přistupovat ke generativní AI založené na LLM při přispívání do svobodného a open-source softwaru. Mimo jiné vyzývá k obezřetnosti, transparentnosti a revizi generovaného kódu člověkem.

    |🇵🇸 | Komentářů: 0
    včera 13:22 | Nová verze

    Byla vydána nová verze 5.6.0 programu na úpravu digitálních fotografií darktable (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    20.6. 20:11 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. V Týdnu v GNOME je zmíněn flatpak balíček pro GIMP 0.54.1 z roku 1996. Jedná se o poslední verzi GIMPu postavenou nad toolkitem Motif.

    Ladislav Hagara | Komentářů: 0
    20.6. 19:11 | Nová verze

    Home Assistant Operating System, tj. linuxová distribuce optimalizována pro hostování Home Assistanta a jeho aplikací, byl vydán v nové major verzi 18.0.

    Ladislav Hagara | Komentářů: 0
    20.6. 18:11 | Komunita

    Po šestiletém úsilí byla z jádra Linux odstraněna funkce strncpy(). Všechna předchozí volání této funkce byla převedena na bezpečnější alternativy.

    Ladislav Hagara | Komentářů: 1
    20.6. 17:22 | Nová verze

    Byla vydána nová verze 261 správce systému a služeb systemd (Wikipedie, GitHub). Z novinek lze vypíchnout nový subsystém IMDS (Cloud "Instance Metadata Service"), nový příkaz storagectl nebo novou komponentu systemd-sysinstall.

    Ladislav Hagara | Komentářů: 3
    20.6. 12:00 | Nová verze

    Vývojové prostředí Qt Creator bylo vydáno ve verzi 20 (seznam změn). Novinky zahrnují hlavně rozšíření pro integraci LLM agentů nebo minimalistický editační režim uživatelského rozhraní („zen mode“).

    |🇵🇸 | Komentářů: 0
    19.6. 10:22 | Humor

    Už jste se prolétli na webu Google Earth? Přibyl tam Simulátor letu (Nástroje / Simulátor letu). Funguje i bez účtu Google [𝕏].

    Ladislav Hagara | Komentářů: 0
    19.6. 09:55 | Nová verze

    Byla vydána nová verze 4.7 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1957 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Jak pracovat s env proměnnými v C programu?

    30.10.2006 17:30 Ctirad Feřtr | skóre: 43 | Praha
    Jak pracovat s env proměnnými v C programu?
    Přečteno: 199×
    Zdravím,

    nějak se mi to nedaří. Funkce putenv() ani setenv() mi nic nevytvoří ani nezmění hodnotu existující proměnné. Podle návratové hodnoty je všechno v pořádku. Co dělám špatně?

    Odpovědi

    michich avatar 30.10.2006 17:37 michich | skóre: 51 | blog: ohrivane_parky
    Rozbalit Rozbalit vše Re: Jak pracovat s env proměnnými v C programu?
    Nezapomínáte náhodou na to, že můžete měnit prostředí pouze pro aktuální proces a případně jeho potomky?
    30.10.2006 18:31 Ctirad Feřtr | skóre: 43 | Praha
    Rozbalit Rozbalit vše Re: Jak pracovat s env proměnnými v C programu?
    V tom je nejspíš právě zakopaný pes. Mám skript (ten už sám o sobě nastaví pár proměnných), z toho je spuštěný základní program v C a ten si průběžně spouští několik pomocných skriptů, které zase volají další programy. Potřeboval bych nějak zařídit, aby všechny tyto programy a skripty měly přístup k několika proměnným a mohli přenastavovat jejich hodnoty. Jde to vůbec?
    30.10.2006 18:49 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
    Rozbalit Rozbalit vše Re: Jak pracovat s env proměnnými v C programu?
    Nemůžete měnit promměnou nadřazeného (volajícího) procesu. Můžete si to představit tak, že každý proces má svoji kopii proměnné, kterou může měnit.
    Luboš Doležel (Doli) avatar 30.10.2006 17:38 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Jak pracovat s env proměnnými v C programu?
    #include <stdlib.h>
    
    int main()
    {
            setenv("test", "value", 1);
            printf("Value of test is %s\n", getenv("test"));
            return 0;
    }
    
    $ ./test
    Value of test is value
    
    30.10.2006 18:34 Ctirad Feřtr | skóre: 43 | Praha
    Rozbalit Rozbalit vše Re: Jak pracovat s env proměnnými v C programu?
    Díky za ochotu, tohle samozřejmě umím a je to v manu. Mě jde o to, jak to v jednom programu zapsat a ve druhém programu (nebo skriptu) přečíst a naopak.
    30.10.2006 20:12 cynik
    Rozbalit Rozbalit vše Re: Jak pracovat s env proměnnými v C programu?
    Pochopil jsem to tak, ze promene prostredi se vzdycky vytvari pro kazdy novy proces (nebo subproces) kopii z tech stavajicich a po skonceni procesu tedy zaniknou.

    Procesy proto navzajem mohou komunikovat i jinak. Napadaji me tyhle moznosti: pres soubor, pres pipu, pres sdilenou pamet. Pokud jde o soubory, neni to zase az tak spatna cesta, akorat je to trochu pomalejsi, ale zase se daji prenaset velky objemy dat. Pipa (socket) je dobra, kdyz spolu maji komunikovat dva nezavysle procesy, treba s jinymi pravy, v chrootu, na jinych pocitacich. Sdilena pamet je takova lepsi nahrada environmentalnich prostredi, avsak je pomerne nebezpecne s ni pracovatm hlavne proto, ze obvykle se jen vytvori a nikdo uz ty zbytecne alokovane kusy pameti nemaze (vyjma restartu systemu).
    Josef Kufner avatar 31.10.2006 00:55 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak pracovat s env proměnnými v C programu?
    Sdilena pamet neni spatna, jen je proste potreba si dat pozor na synchronizaci a uklid.

    Celkem fajn je taky obyčejný unixový socket. Jeden server, spousta klientů, obousměrná komunikace na jedno filedescriptoru.

    Pipa muže být i pojmenovaná (v podobě souboru ve filesystému).

    Pak jsou tu ještě fronty zpráv (podle posixu), ale s těma jsem se nějak ještě nezabýval.

    Záleží na tom, co chceš předávat za data a co máš za programy, co to má dělat.
    Hello world ! Segmentation fault (core dumped)

    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.