GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo encontrar la ruta completa del programa C++ Linux desde adentro?

La respuesta principal a esta pregunta enumera las técnicas para una gran cantidad de sistemas operativos.


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

En Linux (¿Posix?) tienes un enlace simbólico /proc/self/exe que enlaza con la ruta completa del ejecutable.

En Windows, use GetModuleFileName .

Nunca confíes en argv[0] , que no se garantiza que sea útil.

Tenga en cuenta que las rutas y los sistemas de archivos no forman parte del lenguaje y, por lo tanto, son necesariamente una función que depende de la plataforma.


Linux
  1. ¿Cómo obtener la ruta al archivo actual (pwd) en Linux desde C?

  2. ¿Cómo puedo obtener información del contenedor de Docker Linux desde el propio contenedor?

  3. Cómo canalizar los resultados de 'buscar' a mv en Linux

  4. ¿Cómo encontrar la ruta HADOOP_HOME en Linux?

  5. ¿Cómo extraer el nombre de archivo sin la extensión de una ruta completa?

Cómo encontrar la versión de Virtualbox desde la línea de comandos en Linux

Cómo encontrar la lista de repositorios instalados desde la línea de comandos en Linux

Cómo buscar archivos desde la línea de comandos de Linux

Cómo obtener el nombre de archivo de la ruta completa en Linux

Cómo encontrar el tamaño total de un directorio en Linux

Cómo encontrar archivos con el comando fd en Linux