GNU/Linux >> Linux Esercitazione >  >> Linux

Come trovare il percorso completo del programma C++ Linux dall'interno?

La risposta principale a questa domanda elenca le tecniche per un intero gruppo di sistemi operativi.


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 );
}

Su Linux (Posix?) hai un collegamento simbolico /proc/self/exe che si collega al percorso completo dell'eseguibile.

Su Windows, usa GetModuleFileName .

Non fare mai affidamento su argv[0] , che non è garantito per essere qualcosa di utile.

Tieni presente che percorsi e file system non fanno parte del linguaggio e quindi sono necessariamente una caratteristica dipendente dalla piattaforma.


Linux
  1. Come cercare nel Web da terminale su Linux

  2. Come scoprire se il disco è SSD o HDD in Linux

  3. Come ottenere il percorso del file corrente (pwd) in Linux da C?

  4. Come reindirizzare i risultati di "trova" a mv in Linux

  5. Come trovare il percorso di installazione di git su Mac o Linux?

Come trovare la versione di Virtualbox dalla riga di comando in Linux

Come trovare l'elenco dei repository installati dalla riga di comando in Linux

Come cercare file dalla riga di comando di Linux

Come ottenere il nome del file dal percorso completo in Linux

Come trovare la dimensione totale di una directory in Linux

Come trovare file con il comando fd in Linux