Formát parametru pro zobrazení volání funkce podle šablony metodu s gprof?




Co je formát příkazového řádku se zobrazí volání funkce grafu na způsobu podle šablony třídy s gprof?


Pro jednoduchou metodu C byste ji specifikovat jako:



```
gprof -f foo myprogram > gprof.output

```

Jak se vám způsob určit `parse`z následujících možností:



```
template <typename T> class A
{
    public:
        template <typename X> bool parse(X& x, char*buf)
        { ... lots of code here ...;
        }
};

```
Byl jsem po skutečný formát má být použit na příkazovém řádku. Vidím zkompilované symboly při pohledu na vytvořené soubory, ale nejsem si jistý, jaký formát použít na příkazovém řádku. Každopádně díky za všechny odpovědi.
<p>konstruktory základní třídy jsou automaticky volány, pokud nemají žádný argument. pokud chcete zavolat konstruktoru nadtřídy s argumentem, musíte použít inicializační seznam konstruktoru podtřídy. na rozdíl od java podporuje c++ vícenásobné dědičnosti (pro lepší nebo horší), takže základní třída musí být označena spíše jménem než „super ()&ldquo;.</p><pre><code>class superclass { public: superclass(int foo) { // do something with foo } }; class subclass : public superclass { public: subclass(int foo, int bar) : superclass(foo) // call the superclass constructor in the subclass' initialization list. { // do something with bar } }; </code></pre><p>více informací o inicializačním seznamu konstruktoru <a href="http://www.cprogramming.com/tutorial/initialization-lists-c++.html">zde</a> a <a href="http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.6">zde</a> .</p> <p>k tomu je užitečný zabudovaný <code>type</code>. to vám nejen řekne o aliasech, ale také o funkcích, vestavěných slovech, klíčových slovech a externích příkazech.</p><pre class="lang-none prettyprint-override"><code>$ type ls ls is aliased to `ls --color=auto' $ type rm rm is /bin/rm $ type cd cd is a shell builtin $ type psgrep psgrep is a function psgrep () { ps -ef | { read -r; printf '%s\n' "$reply"; grep --color=auto "$@" } } </code></pre><p><code>type -a cmd</code> zobrazí všechny příkazy pod tímto jménem v pořadí podle priority, což je užitečné pro výše uvedený alias <code>ls</code>, kde alias sám volá <code>ls</code>.</p><pre class="lang-none prettyprint-override"><code>$ type -a ls ls is aliased to `ls --color=auto' ls is /bin/ls </code></pre><p>to vám řekne, že když spustíte <code>ls</code>, <code>/bin/ls</code> bude použito a <code>--color=auto</code> bude zahrnut do seznamu argumentů, kromě všech ostatních, které sami přidáte.</p> <p>pro výstup <code>foo {1, 2, 3}</code> musíte udělat něco jako:</p><pre><code>string t = "1, 2, 3"; string v = string.format(" foo {{{0}}}", t); </code></pre><p>pro výstup <code>{</code> použijte <code>{{</code> a pro výstup <code>}</code> použijte <code>}}</code>.</p> <p>ne, tady opravdu nejsou žádné zkratky. prozkoumejte věci v následujícím pořadí:</p><ol> <li>zkontrolujte název postupu.</li> <li>zkontrolujte počet parametrů.</li> <li>zkontrolujte typy parametrů.</li> <li>zkontrolujte názvy parametrů.</li> </ol> Nastav si ve vlastnostech příkazové řádky větší písmo.Win+R - CMD - pravé tlačítko na záhlaví - vlastnosti - písmoMělo by to být společné i pro výstupní okna devpascalu Jestli máš klasický Borland, dá ti při výběru procedur a funkcí znát i datový typ výstupní proměnné, jestli se nepletu. Tak bys měl zjistit, co je výstupem a podle toho se snažit získana data dále zpracovávat. <p>obecným případem, který pracuje s jakýmkoli příkazem, který píše do stdout, je použití <code>xargs</code>, které vám umožní připojit ke konci příkazu libovolný počet argumentů z příkazového řádku:</p><pre><code>$ find … | xargs grep 'search' </code></pre><p>nebo vložte příkaz do řádku <code>grep</code> pomocí backticks nebo <code>$()</code>, které příkaz spustí a nahradí jeho výstup:</p><pre><code>$ grep 'search' $(find …) </code></pre><p>tyto příkazy nefungují, pokud názvy souborů obsahují mezeru nebo určité jiné „divné znaky“ (<code>\'"</code> pro xargs, <code>\[*?</code> pro <code>$(find …)</code>).</p><hr><p>ve specifickém případě <code>find</code> je však zabudována schopnost provádět program na zadaných argumentech:</p><pre><code>$ find … -exec grep 'search' {} \; </code></pre><p>všechno mezi <code>-exec</code> a <code>;</code> je příkaz k provedení; <code>{}</code> je nahrazen názvem souboru nalezeným <code>find</code>. tím se provede samostatný <code>grep</code> pro každý soubor; protože <code>grep</code> může mít mnoho názvů souborů a prohledávat je všechny, můžete změnit <code>;</code> na <code>+</code>, abyste zjistili, že všechny odpovídající názvy souborů předáte <code>grep</code> na jednou:</p><pre><code>$ find … -exec grep 'search' {} \+ </code></pre> <p>pokud potřebujete přidat opakovaně použitelnou metodu pro přidání textu, můžete vytvořit novou šablonu style/controltemplate, která obsahuje další blok textblock pro zobrazení textu. chcete-li nastavit text na pruhu průběhu, můžete přenést vlastnost textsearch.text. </p><p>pokud to nemusí být opakovaně použitelné, jednoduše umístěte ukazatel průběhu do mřížky a přidejte do mřížky textový blok. vzhledem k tomu, že wpf může skládat prvky dohromady, bude to fungovat pěkně.</p><p>pokud chcete, můžete vytvořit usercontrol, který zpřístupní progressbar a textblock jako veřejné vlastnosti, takže by bylo méně práce než vytvoření vlastní šablony controltemplate.</p> co jsem slyšel, tak existuje skript pro příkazovou řádku, co to udělá přes LibreOffice. Mrkni na:[https://sourceforge.net/projects/jodconverter/](https://sourceforge.net/projects/jodconverter/?source=recommended)nebo<http://oooconv.free.fr/batchconv/batchconv_en.html> <p>pro druhou metodu, kterou jste zmínili, není v c++ ani c # žádná syntaxe.</p><p>na první metodě není nic špatného. pokud však máte velmi velké rozsahy, stačí použít řadu příkazů.</p>