GNU/Linux >> Znalost Linux >  >> Linux

Jak najít úplnou cestu k programu C++ Linux zevnitř?

Nejlepší odpověď na tuto otázku uvádí techniky pro celou řadu OS.


string get_path( )
{
        char arg1[20];
        char exepath[PATH_MAX + 1] = {0};

        sprintf( arg1, "/proc/%d/exe", getpid() );
        readlink( arg1, exepath, 1024 );
        return string( exepath );
}

Na Linuxu (Posix?) máte symbolický odkaz /proc/self/exe který odkazuje na úplnou cestu ke spustitelnému souboru.

V systému Windows použijte GetModuleFileName .

Nikdy se nespoléhejte na argv[0] , což není zaručeně nic užitečného.

Všimněte si, že cesty a systémy souborů nejsou součástí jazyka, a proto nezbytně funkcí závislou na platformě.


Linux
  1. Jak vyhledávat na webu z terminálu v systému Linux

  2. Jak zjistit, zda je disk SSD nebo HDD v Linuxu

  3. Jak získat cestu k aktuálnímu souboru (pwd) v Linuxu z C?

  1. Jak mohu získat informace o kontejneru Docker Linux ze samotného kontejneru?

  2. jak najít cestu HADOOP_HOME na Linuxu?

  3. Jak extrahovat název souboru bez přípony z úplné cesty?

  1. Programujte hardware z příkazového řádku Linuxu

  2. Jak přenést výsledky 'najít' do mv v Linuxu

  3. Jak najít instalační cestu git v Mac nebo Linuxu?