GNU/Linux >> Tutoriales Linux >  >> Linux

¿Dónde se define PATH_MAX en Linux?

La forma portátil de hacerlo es:

#define _POSIX_C_SOURCE 1
#include <limits.h>

Especificaciones:https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html


Está en linux/limits.h .
#define PATH_MAX 4096 /* # chars in a path name including nul */

#include <linux/limits.h>

char current_path[PATH_MAX];

PATH_MAX tiene algunos defectos como se menciona en este blog (gracias paulsm4)


Tenga en cuenta que aún no está claro si PATH_MAX define una longitud máxima con o sin un byte nulo final. Puede ser uno u otro en diferentes sistemas operativos. Si no puede o no quiere verificar en qué caso se encuentra durante la compilación, es más seguro forzar un límite artificial de PATH_MAX - 1 . Más vale prevenir que lamentar. (Obviamente, aún debe reservar al menos PATH_MAX bytes de memoria para almacenar en búfer la cadena).


Linux
  1. Linux:¿dónde se almacena un semáforo con nombre?

  2. Kali Linux 1.0.5 y radio definida por software

  3. ¿Dónde está la función itoa en Linux?

  4. ¿Dónde almacena Linux mi syslog?

  5. ¿Cuál es la interfaz para las llamadas al sistema ARM y dónde se define en el kernel de Linux?

Comando W en Linux

Al mando en Linux

Linux:¿dónde se almacena la cadena de entorno real?

¿Dónde está el archivo php.ini en una PC con Linux/CentOS?

¿Dónde colocar el script de autocompletado zsh en Linux?

¿Dónde está la declaración de desaprobación de ifconfig (en Linux)?