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 11:55 | Komunita

Vývojový tým OpenSSL ve spolupráci s iniciativou Core Infrastructure konsorcia Linux Foundation spustil proces přelicencování této kryptografické knihovny ze současné licence na licenci Apache Licence v 2.0 (ASLv2). Nová licence usnadní začleňování OpenSSL do dalších svobodných a open source projektů. Všichni dosavadní vývojáři OpenSSL (Authors) obdrží v následujících dnech email s prosbou o souhlas se změnou licence.

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

Před třemi týdny Mozilla.cz představila projekt Photon, jehož cílem je návrh a implementace nového vzhledu Firefoxu. Včera zveřejnila první náhled vzhledu Photon. Práce na projektu Photon jsou rozděleny do pěti týmů, které celkem čítají 19 lidí. Zaměřují se na zlepšení prvního spuštění Firefoxu a zaujetí nových uživatelů, celkovou úpravu vzhledu, zlepšení animací, zrychlení odezvy uživatelského rozhraní a také upravení nabídek. Vývoj lze sledovat v Bugzille.

Ladislav Hagara | Komentářů: 28
23.3. 20:00 | Komunita

OneDrive pro firmy je již ve webových prohlížečích na Linuxu stejně rychlý jako na Windows. Microsoft opravil chybu z listopadu loňského roku. OneDrive pro firmy běžel na Linuxu mnohem pomaleji než na Windows. V popisu chyby bylo uvedeno, že stačilo v prohlížeči na Linuxu nastavit v user-agentu Windows a vše se zrychlilo. Odpovědí Microsoftu bylo (Internet Archive: Wayback Machine), že Linux není podporován. Po bouřlivých diskusích na redditu i Hacker News byla chyba nalezena a opravena.

Ladislav Hagara | Komentářů: 6
23.3. 19:00 | Zajímavý projekt

Byla vyhlášena soutěž Hackaday Prize 2017. Soutěž je určena vývojářům open source hardwaru. Pro výherce je připraveno celkově 250 tisíc dolarů. Každý ze 120 finalistů získá tisíc dolarů. Nejlepší pak navíc 50, 30, 20, 15, 10 a 5 tisíc dolarů. Jedná se již o čtvrtý ročník soutěže. V roce 2014 zvítězil projekt globální sítě open source pozemních satelitních stanic SatNOGS. V roce 2015 zvítězil open source systém pro řízení elektrických invalidních vozíků pohybem očí Eyedriveomatic. V roce 2016 zvítězil modulární robot Dtto.

Ladislav Hagara | Komentářů: 0
23.3. 15:00 | Bezpečnostní upozornění

Byla vydána Samba ve verzích 4.6.1, 4.5.7 a 4.4.12. Řešen je bezpečnostní problém CVE-2017-2619. Pomocí symbolických odkazů a souběhu (symlink race) lze "teoreticky" získat přístup k souborům, které nejsou sdíleny. Linuxové distribuce jsou postupně aktualizovány (Debian).

Ladislav Hagara | Komentářů: 0
23.3. 07:43 | Nová verze

Na Steamu se objevil port hry Arma: Cold War Assault (Operation Flashpoint) pro Mac a Linux. … více »

creon | Komentářů: 30
23.3. 05:55 | Nová verze

Po 18 měsících od vydání verze 8.0 byla vydána verze 9.0 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab. Představení nových vlastností v příspěvku na blogu a na YouTube.

Ladislav Hagara | Komentářů: 0
23.3. 03:33 | Komunita

Platnost posledního patentu souvisejícího s Dolby Digital (AC-3) vypršela. Po MP3 se tak do Fedory oficiálně dostane také kodek AC-3.

Ladislav Hagara | Komentářů: 5
23.3. 00:44 | Komunita

Feral Interactive, společnost zabývající se vydáváním počítačových her pro operační systémy macOS a Linux, nabízí své hry na Steamu vývojářům open source 3D grafické knihovny Mesa zdarma. Podmínkou je minimálně 25 commitů za posledních 5 let. Stejnou nabídku dostali vývojáři knihovny Mesa v roce 2015 od Valve. O rok dříve dostali od Valve tuto nabídku vývojáři Debianu a Ubuntu.

Ladislav Hagara | Komentářů: 0
22.3. 23:55 | Nová verze

Opera 44, verze 44.0.2510.857, byla prohlášena za stabilní. Nejnovější verze tohoto webového prohlížeče je postavena na Chromiu 57. Z novinek vývojáři Opery zdůrazňují podporou Touch Baru na nejnovějších MacBoocích Pro (gif). Přehled novinek pro vývojáře na blogu Dev.Opera.

Ladislav Hagara | Komentářů: 1
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (14%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 930 hlasů
 Komentářů: 72, poslední 1.3. 11:16
    Rozcestník

    Dotaz: jak na "namespace" v C

    17.1.2005 19:56 jiri vejsada
    jak na "namespace" v C
    Přečteno: 272×
    pro vetsi linuxuvy projekt v C, pro ktery bude event. prispivat vice clenu je treba vyresit problem s kolizi jmen funkci. Tak jak to delaji v glib, gnome mohou ty jmena funkci "glib_nekomu_pripadat_trochu_prislis_dlouhe". Nezna nejaky ostrileny projektant lepsi moznost. Jak by jste to delali?

    Odpovědi

    17.1.2005 21:05 Petr
    Rozbalit Rozbalit vše Re: jak na "namespace" v C
    Vetsi projekty v jazyku C vyuzivaji tzv. modularity -> Projekt je rozdelen do nekolika modulu. Kazdy modul spravuje nejakej logickej celek a exportuje pouze potrebne funkce, oastatni funkce jsou deklarovany jako static.
    17.1.2005 23:25 jiri vejsada
    Rozbalit Rozbalit vše Re: jak na "namespace" v C
    kdyz nejaky log. modul sestava napr. z 30 funkci a exportuje napr. jednu funkci, musi byt z duvodu static deklarace vsechny tyto funkce v jednou souboru? To je jiz kvuli make trochu nevyhoda, ne?

    Ale take jsme o tom uvazovali, nase obavy v projektu jsou, zdali je to mozno obecne tak rozdelit, ze bude prevazna cast funkci skutecne "pro vlastni potrebu" a jen minimum na "export".

    Ten problem je, ze projekt zpocatku vubec nevi, kdo co bude dodavat a realizovat - napr. bude vice programatoru dodavat moduly pro sklady a ta obava je, ze kazdy druhy pouzije "get_store_value" ....
    17.1.2005 23:57 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: jak na "namespace" v C
    Nemusí být v jednom souboru. Ale pak musíš něco vědět o linkeru a resolování symbolů. K tomu je asi nejlepší si přečíst článek How to write shared libraries[1] od Ulricha Dreppera, který je velmi dobře napsaný. Je tam popsáno několik možností jak, vysvětlit linkeru, že se symboly ,exportují` jen v rámci knihovny.

    Kromě toho je 30 funkcí celkem málo, obvzvlášť tvoří-li jeden logický celkek, dát je do jednoho souboru je zdaleka nejjednodušší řešení.

    [1] Týká se tedy hlavně knihoven; nevím, jak je ten váš projekt strukturovaný, ale normálním lidem stačí dvě úrovně filtrování prostoru symbolů -- objekt (.o) (což zařídí static ve zdrojáku) a knihovna (viz článek). Navíc lze moduly natahovené dynamicky (dlopen() a spol.) natahovat s RTLD_LOCAL, a používat jiný mechanismus inzerování, co modul obsahuje, než špinění globálního prostoru.
    17.1.2005 22:33 Anselm
    Rozbalit Rozbalit vše Re: jak na "namespace" v C
    Už při návrhu definujte rozhraní modulů tak, aby nedocházelo ke kolizím jmen. Exportujte pouze funkce realizující toto rozhraní. Nepoužívejte přiliš obecná jména, u funkcí operujících nad daty nějaké struktury použijte jako prefix jméno té struktury. Zapomeňte na globální proměnné.
    17.1.2005 23:31 jiri vejsada
    Rozbalit Rozbalit vše Re: jak na "namespace" v C
    ... Už při návrhu definujte rozhraní modulů tak, aby nedocházelo ke kolizím jmen...

    to by me zajimalo, ale zatim si nedovedu predstavit jak je to mysleno. Bylo by mozno uvest nejaky priklad? Mam si to predstavit tak nejak, ze napr. pro sklady bude na zacatku vsech funkcnich jmen store_ a u faktur napr. invoice_ ...?
    17.1.2005 23:39 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: jak na "namespace" v C
    Kód se píše jednou, ale čte mnohokrát.

    Píšeš-li C knihovnu a nepoužíváš pro všechny symboly prefix podle jména knihovny, tak se ti všichni vysmějí a vzápětí vynadají. To vysvětluje to glib_. Pokud projekt neexportuje žádná API, pro rozšiřující moduly nebo vůbec pro cokoli, tak si to samozřejmě dělej, jak chceš, ale větší projekty obvykle nějaká API exportují.

    Co se týče zbytku -- to je ta část nekomu_pripadat_trochu_prislis_dlouhe, tak ten se týká odlišení jmenných prostorů jen částečně:

    1. Metody objektů jsou normální funkce C, a tedy v globálním rozsahu platnosti (nebo jak se to jmenuje česky -- zkrátka scope). Jediný způsob, jak se s tím rozumně vypořádat, je přidat jméno třídy do jména metody (BTW v C++ se to děje také, ale dělá to kompilátor). Tudíž co bys jinde zapsal container->add() nebo container.add(), jmenuje se [gtk_]container_add().

    2. Nikdo neví, co dělá mbsnrtowcs(). Tedy někdo asi ano, ale... Funkce gtk_spin_button_set_snap_to_ticks() by se při zachování předchozích bodů stále mohla jmenovat gtk_spnbtn_ssc2(). Pak bys četl cizí kód a na každou druhou funkci se musel dívat do dokumentace, co dělá (tedy, kdyby nějaká použitelná existovala, takže spíš do zdrojáku). Naproti tomu každý ví, co dělá gtk_spin_button_set_snap_to_ticks() (pokud zná widget GtkSpinButton).

    A teď k tomu, co máš dělat ty: Dělej to stejně. Psát dlouhá jména funkcí je práce textového editoru a umí to dobře. Zvolíš-li rozumně prefixy knihovna_, modul_ či objekt_, nemusí být ty názvy ani tak hrozně dlouhé, ale podstatná je stejně ta popisná druhá část, ne prefix[y].
    18.1.2005 12:35 jiri vejsada
    Rozbalit Rozbalit vše Re: jak na "namespace" v C
    dik za obsahly prispevek. Rozjedeme to tim smerem, sam jsem zvedav jak se budou jednotlivi vyvojari drzet te umluvy, aby ta popisna cast nebyla zbytecne dlouha.

    Napadlo me jeste, ze by nebylo od veci, kdyby se daly najit podobne veci nejak shromazdene na jednom miste, aby se to nemuselo problematicky vzdy dohledavat. Takova nejaka rukovet praktickych postupu v programovani. Nic podobneho jsem zatim nevidel.
    18.1.2005 14:10 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: jak na "namespace" v C
    Mě osobně dlouhá jména nepřijdou problém, protože moje vývojové prostředí (vim) je bez problémů doplňuje za mě (^P), stejně tak mi nevadí ani krátká jména, protože když chci vidět co která funkce dělá tak se na ni kouknu (^[) a pokud je komentovaná, tak je to celkem rychlé. Pokud ne, tak někomu vynadám. (Nejčastěji sobě.) V takovém malém projektíku
    hynek[sfmat]$ cat *.c *.h|wc
       9428   33383  271711
    
    který píšu objektově, ale v ANSI C (kvůli přenositelnosti na platformy co C++ neznají, ano i takové jsou mezi námi) mi to nedělá velký problém.
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.

    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.