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 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 4
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 15
    11.7. 00:11 | Nová verze

    Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

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

    Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 4
    10.7. 15:22 | Nová verze

    Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.

    Ladislav Hagara | Komentářů: 12
    10.7. 12:55 | Bezpečnostní upozornění

    Ministerstvo vnitra odhalilo závažný kyberincident v IT systému resortu. Systém, do kterého se dostal útočník bez oprávnění, byl odpojen a nedošlo k odcizení dat [𝕏].

    Ladislav Hagara | Komentářů: 16
    10.7. 11:55 | Humor

    Před rokem byla streamovací služba HBO Max přejmenována na Max. Dle managementu slovo HBO v názvu nebylo důležité. Včera byl Max přejmenován zpět na HBO Max. Kolik milionů dolarů to stálo? 😂

    Ladislav Hagara | Komentářů: 16
    10.7. 02:11 | Nová verze

    Byla vydána nová major verze 8.0.0 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata (Wikipedie). Přehled novinek v oficiálním oznámení a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    10.7. 01:11 | Nová verze

    Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.4. Přehled novinek s náhledy a videi v oznámení na blogu.

    Ladislav Hagara | Komentářů: 1
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (27%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 391 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: gcc, preklad bez includovani

    29.7.2005 14:04 qwerty | skóre: 9
    gcc, preklad bez includovani
    Přečteno: 140×
    Dobry den,

    zajimalo by me jakto ze se prelozi muj program a normalne funguje:

    int main(void) { printf("abc"); }

    kdyz printf je deklarovane v stdio.h a to tam neincluduju. Uvazoval sem ze gcc nejak automaticky includuje standartni I/O knihovnu ale kdyz se podivam na to co vypadne po praci preprocesoru (gcc -E) tak je tam:

    # 1 "x.c" int main() { printf("abc"); }

    takze by to snad printf nemelo znat a melo byt to hodit chybu ne ?

    Odpovědi

    29.7.2005 14:14 #Tom
    Rozbalit Rozbalit vše Re: gcc, preklad bez includovani
    Proč by mělo? Když si nezapnete varování, chová se překladač podobně, jako by v programu bylo deklarováno tohle:
    int printf(int, ...);
    
    A int a char * se převedou bez problémů (většinou), takže to funguje. Zkuste ale toto:
    gcc -o program -Wall -Werror -pedantic -ansi program.c
    
    6.8.2005 20:52 qwerty | skóre: 9
    Rozbalit Rozbalit vše Re: gcc, preklad bez includovani
    jeste bych k tomuto mel jednu otazku. Kdyz mam dva prelozene objektove soubory a oba obsahuji stejny symbol (napriklad v obou budu mit definici funkce xyz()) tak linker pri slinkovavani hodi kolizi. Zajimalo by me, proc takovato dvoji definice nekoliduje, pokud jedna definice je v objektovem souboru a druha je ve sdilene knihovne, ktera se linkuje spolecne s nim pri prekladu. Jako napr. kdyz si udelam definici funkce printf(char*) v nejakem souboru, tak i kdyz sdilena knihovna libc se linkuje spolecne s timto souborem, tak kolize nevznikne a volani funkce vola tu mnou definovanou. Projizdel jsem si libc readelfem a printf neni WEAK symbol.
    6.8.2005 21:09 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: gcc, preklad bez includovani
    6.8.2005 22:10 qwerty | skóre: 9
    Rozbalit Rozbalit vše Re: gcc, preklad bez includovani
    Toto ale, pokud se nemylim, hovori o dynamickem linkeru (/lib/ld-linux) jako zavadeci ktery po spusteni nejakeho spustitelneho souboru linkuje sdilene knihovny na kterych je ten spustitelny soubor zavisly. Ale ten muj problem vznika pri normalnim linkovani gcc uz pri vzniku toho spustitelneho souboru.
    6.8.2005 23:28 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: gcc, preklad bez includovani
    Jaký problém? Jeden globální symbol v programu může mít akorát jednu adresu. Když chceš v každém souboru nezávislé symboly, máš použít static. Případně mezi tím existuje ještě třída viditelnosti STV_HIDDEN (viz ten článek), kterou můžeš vytvořit symboly viditelné např. v rámci celé knihovny, ale ne mimo ni.
    6.8.2005 23:39 qwerty | skóre: 9
    Rozbalit Rozbalit vše Re: gcc, preklad bez includovani
    No jako neni to problem ale jen moje zvedavost. Proste me zajima jakto ze nekoliduje symbol z meho objektoveho souboru se stejnym symbolem ze sdileneho objektu. Oba jsou globalne viditelne (ten muj urcite je a ten z libc musi byt taky protoze pokud si napr. funkci printf sam nenadefinuju a pritom pri linkovani nebudu pridavat libc tak mi bude uz gcc pri linkovani rvat unresolved symbol) a pritom nekoliduji.. kdezto dva stejne globalni symboly ve dvou objektovych souborech koliduji (gcc linker zarve chybu). Jako je mi jasny ze mi v logice teto veci neco unika ale nevim co :)
    7.8.2005 00:06 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: gcc, preklad bez includovani
    Na hledání symbolu v té knihovně vůbec nedojde, protože je definovaný programu, takže viditelnost ničemu nevadí.

    Konflikt může být toho druhu, že se snažíš do jedné tabulky symbolů nacpat dvě definice téhož symbolu, a to ti kompilátor nedovolí.

    Nebo když budou dvě knihovny definovat symbol různě, mohou se dít zajímjavé věci v důsledku pořadí resolvování, takže části kódu dostanou něco, co nečekají. Podstatné ale je, že se symbol podle nějakého pravidla hledá v jednotlivých DSO, a když se najde, tak už se dál nehledá.

    Já nevím, zda má cenu, abych sem postupně opisoval ten článek, raději si ho přečti...

    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.