abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:55 | Nová verze

    Byla vydána nová stabilní verze 24.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Uakari. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | Nová verze

    Byla vydána nová verze 1.48.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Fernando F. Mancera. Mimo jiné se v nastavení místo mac-address-blacklist nově používá mac-address-denylist.

    Ladislav Hagara | Komentářů: 5
    včera 17:11 | Komunita

    Před 25 lety, 31. května 1999, započal vývoj grafického editoru Krita (Wikipedie). Tenkrát ještě pod názvem KImageShop a později pod názvem Krayon.

    Ladislav Hagara | Komentářů: 2
    včera 12:55 | Nová verze

    Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 24.05.0 editoru videa Kdenlive (Wikipedie). Ke stažení brzy také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 11:22 | Zajímavý článek

    David Revoy, autor mj. komiksu Pepper&Carrot, se rozepsal o své aktuální grafické pracovní stanici: Debian 12 Bookworm, okenní systém X11, KDE Plasma 5.27, …

    Ladislav Hagara | Komentářů: 6
    30.5. 22:44 | Nová verze

    Wayland (Wikipedie) byl vydán ve verzi 1.23.0. Z novinek lze vypíchnout podporu OpenBSD.

    Ladislav Hagara | Komentářů: 0
    30.5. 21:22 | Zajímavý článek

    Craig Loewen na blogu Microsoftu představil novinky ve Windows Subsystému pro Linux (WSL). Vypíchnout lze GUI aplikaci pro nastavování WSL nebo správu WSL z Dev Home.

    Ladislav Hagara | Komentářů: 0
    30.5. 12:44 | Pozvánky

    V sobotu 1. června lze navštívit Maker Faire Ostrava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    30.5. 12:22 | Nová verze

    Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 12
    29.5. 22:11 | Nová verze

    Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.

    Ladislav Hagara | Komentářů: 7
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (90%)
     (3%)
     (4%)
     (4%)
    Celkem 1066 hlasů
     Komentářů: 17, poslední včera 15:31
    Rozcestník

    Dotaz: CMake, pocet radku v souboru

    7.2.2017 23:05 Franta
    CMake, pocet radku v souboru
    Přečteno: 510×
    Existuje nejake lepsi reseni, jak v CMakeLists.txt spocitat pocet radku v souboru, nez toto? Nacteni souboru a pak ukladani matchu do pole jenom proto, abych mohl ziskat jejich pocet, mi neprijde nejlepsi. Bude se jednat o velky projekt s hodne soubory a nechci, aby beh cmake trval vecnost:
    file(READ ${source_file} source_file_contents)
    string(REGEX MATCHALL "\n" newline_matches "${source_file_contents}")
    list(LENGTH newline_matches newline_count)
    

    Řešení dotazu:


    Odpovědi

    8.2.2017 09:56 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    wc -l soubor

    8.2.2017 18:35 Franta
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Ja se omlouvam, ale myslici clovek snad pozna, ze tohle mi je k nicemu. Pisu v CMakeLists.txt, jako priklad uvadim nejake prikazy cmake a vy mi sem date konzolovy prikaz.
    8.2.2017 18:46 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    A je problém ho použít že?

    Když ho použít nechceš nemusíš o tom to je napiš si počítání konců řádků podle sebe.
    8.2.2017 20:51 Franta
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Ale vsak pisu, ze to potrebuju v cmake a ne ve shellu.
    8.2.2017 20:56 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Předpokládám, že cmake umí spouštět wc a shell k tomu není vůbec potřebný.

    BTW: K čemu je vlastně dobré znát počet řádek ve zdrojovém souboru?
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.2.2017 21:06 kamen
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    vy jste uplne ale uplne zaujaty tim wc.

    dotaz byl jak to udelat v cmake.

    ne na wc, ne v shelu,omv,aralu..

    8.2.2017 21:51 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Nejsem tím zaujatý pokud jsi si nevšiml další příspěvky nebyly moje.

    Ale když už jsme u toho proč bych spouštěl nějaký shell????

    cmake neumí spustit externí program.

    A jinak taky by mě zajímalo proč v programu počítat kolik má řádků?
    9.2.2017 08:17 kamen
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    muj omyl: sory; a ne jako, ale fakt. muj nehezky komentar patril predchozimu diskuteru.

    cmake ext. program: pokud vim, tak cmake pri generovani build systemu umi spustit ext. program. je to ale ve vetsine nevhodne, protoze to vytvari potrebu platformne zavisleho ext. programu.

    8.2.2017 22:07 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    O shellu přece vůbec nebyla řeč...

    Používám make, ve kterém zcela běžně volám externí programy (bez shellu) a předpokládal jsem, že to v cmake bude skoro stejné.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.2.2017 21:47 Franta
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Unity build. Ale protoze se jedna o velky projekt, chci limitovat celkovy pocet radku (tj. vsech includovanych cpp souboru) pro takto vygenerovany soubor, jinak by to sezralo vsechnu pamet a kompilator by umrel.
    8.2.2017 21:54 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Co je zase toto za blbost?

    Velké projekty se skládají z menších prvků které se teprve potom slinkují a né že se udělá jeden cpp soubor v kterém bude:
    <include> 1.cpp
    <include> 2.cpp
    .......
    <include> 10000.cpp
    8.2.2017 22:11 Franta
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    To neni blbost. Prave, ze se sklada z mensich prvku, ty se skladaji z mraky cpp souboru a kdyz se kazdy kompiluje zvlast (i nekolik paralelne) tak to proste trva hodne dlouho. Unity build toto klidne dokaze zkratit na polovinu. Misto treba 200 cpp souboru kompilujete jen 20, ktere kazdy includuji 10 a samozrejme dale se to paralelizuje. Hlavni nevihodou je vetsi spotreba pameti pri kompilaci a proto se to snazim omezit celkovym poctem radku.
    10.2.2017 04:24 Sten
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    O ccache jste už slyšel? V porovnání s tím je Unity Build jen nepodařená hříčka.
    8.2.2017 22:11 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Includují se přece jen hlavičkové soubory, které bývají poměrně krátké. Nějaké překročení limitní délky vůbec nehrozí.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.2.2017 22:16 Franta
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    V tomto pripade includuji cpp soubory do jineho cpp souboru, ktery se kompiluje misto tech puvodnich. Jak pisu vyse, pokud bych do jednoho souboru naincludoval vsechny, nebude dostatek pameti pro kompilaci, je potreba to nejak rozdelit a omezit to poctem radku tech cpp souboru je +- autobus uzitecne reseni. Akorat se jeste snazim zkratit dobu behu cmake.
    8.2.2017 22:18 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Tohle řešení ve výsledku pouze prodlouží dobu kompilace, nehledě na hromadu dalších nevýhod.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.2.2017 22:20 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Přesně blbost.

    Na začátku možná ušetříš při kompilaci jednoho velkého souboru než 1000 menších, ale pak při opravě jednoho řádku zase musíš přeložit jeden velký soubor než 1 malý.

    Takže za mě je to fakt blbost o to co se snažíš.....
    8.2.2017 22:33 Franta
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    To je pro automatizovane buildy a ne pro vyvoj, kdy zmenim jednu radku a musim pak prekompilovat haldu souboru.
    8.2.2017 22:48 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Panebože takže vývoj máš dělaný jinak a finální překlady taky????

    Bral bych to kdyby se to pak překládalo pro 1000 různých platforem, ale pro těch pár co existují?

    Distribuji to pak jako binárku, a né že se to musí přeložit na každém stroji samostatně...

    By mě zajímalo pro jakou firmu pracuješ že máš tolik času se zabývat kravinama a podle mě to kravina je.
    9.2.2017 19:30 Franta
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    To jsou automatizovane buildy pro ruzne vetve pro ucely automatickych testu. Nejsou to buildy pro finalni produkt. Tech vetvi neni malo a cim drive se to prelozi, tim drive se to otestuje, zjisti se pripadne chyby a opravi.
    8.2.2017 22:15 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Ten článek je totální blud postavený na nesmyslech.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.2.2017 22:17 Franta
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Zkousel jste to? Tak, jak je v clanku kod, tak je to samozrejme nepouzitelne na velky projekt, ale pri trose prizpusobeni se build da o dost zrychlit.
    8.2.2017 22:22 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Nezrychlí, ale zpomalí. Když udělám změnu v jednom zdrojáku, zkompiluje se jen ten jeden zdroják a slinkuje s ostatními 199 již zkompilovanými soubory.

    Podle toho článku když udělám změnu v jednom souboru, musím kompilovat všech 200 cpp souborů, což bude trvat mnohem déle.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.2.2017 22:23 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Je to blbost.

    Protože při změně jednoho řádku musíš překompilovat jeden velký soubor než jeden malý a co bude rychlejší.......

    A při vývoji se pořád mění nějaké věci a proč překládat všechno v jednom velkém souboru?

    Možná při prvotním překladu ušetříš, ale při následných překladech budeš prodělávat....
    8.2.2017 22:37 Franta
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Viz vyse. Kazdopadne pojdme se vratit k puvodnimu dotazu. Jak to prostredky cmake udelat lepe, bez spousteni externich nastroju.
    8.2.2017 22:56 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Prostě musíš ty řádky spočítat.....

    Nevím co cmake umí a zjišťovat to nebudu, a nevím proč se bráníš používat externí programy.

    Koukni do wc jak to počítá a implementuj postup na to co umí cmake.
    8.2.2017 23:04 ssss
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Rekl bych, ze cmake nema zadny konkretni nastroj na pocitani radku...CMake/Language_Syntax tohle to celkem jasne objasnuje, ze i reseni, ktere jsi uvedl je v napsano jako script a nikoli funkce. cmake je nastroj na generovani souboru z jinych souboru, kontrolu zavislosti, substituce...

    Mas tak asi moznost bud pouzit tu uvedenou funkci nebo zavolat externi nastroj. Ani jedna moznost me neprijde spatna. Pouziti funkce je vic multiplatformni, naopak externi utilita bude vic flexibilni.

    Je treba si uvedomit, ze samotne cmake externi utility vola mnohokrat.. pri osahavani systemu na kterem bezi, u ruznych kompileru... testovani vlastnosti knihoven, prikazu...

    Dal bych mel upozornit, ze dokud si clovek skutecne neosaha konkretni reseni ohledne vykonu, tezko muze delat obecne zavery. Systemy typu make, cmake jsou vesmes interprety, tedy bezi vyraznejsi pomaleji nez kompilovane veci. Pokud skutecne narazis na problem s vykonem, zjevne bude potreba sahnout k C/C++, Fortranu, Ada, a apod.
    stativ avatar 9.2.2017 19:38 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Přidám se k názoru, že je to blbost. Pokud chcete zrychlit build, tak se doporučuji spíš podívat po ccache a pokud ještě nepoužíváte, tak zkusit precompiled headers.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    9.2.2017 20:08 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Myslím si, že další cache jsou již zbytečné a ke zrychlení buildu již nijak nepomohou.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    13.2.2017 23:45 Ondra
    Rozbalit Rozbalit vše Re: CMake, pocet radku v souboru
    Článek je z roku 2009, kdy SSD byl přepychem horních deseti tisíc, případně předmětem vášnivých diskusí v anarchistických kroužcích. Místo podobných rovnáků na ohejbáky bych se raději soustředil na investici do rozumného disku (SSD), a do lepšího strukturování kódu, aby se při změně jednoho řádku nemuselo kompilovat tisíc souborů. Pak samozřejmě do paralelizace buildu; pokud byste chtěl hodně popustit uzdu fantazie, tak je možné rozdělit projekt do několika knihoven, které se budou buildit samostatně a na různých nodech, a finální produkt se jen poskládá z nich.

    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.