1 votos

'clang' vs. 'gcc' vs. 'cpp' Binarios

En MacOS 14.2, al escribir 'clang --version' o 'gcc --version' (o incluso 'cpp --version') devuelve lo mismo:

Apple clang version 15.0.0 (clang-1500.1.0.2.5)
Target: arm64-apple-darwin23.2.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

¿Cuál es la diferencia entre cpp, gcc, clang? 'ls -la /usr/bin' me dice que al menos ninguno de ellos es un enlace simbólico.

3voto

Abramodj Puntos 1771

Con respecto a, "¿Cuál es la diferencia entre cpp y otros binarios (gcc y clang)? 'ls -la /usr/bin' claramente demuestra que ninguno de ellos son enlaces simbólicos."

/usr/bin/clang, /usr/bin/gcc y /usr/bin/cpp son enlaces duros al mismo binario. Un ls -il de los tres mostrará el mismo número de inodo, un recuento de enlaces equivalente (por ejemplo 76) y un hash 256shasum para cada uno con el mismo valor.

$ ls -il /usr/bin/clang /usr/bin/gcc /usr/bin/cpp    
1152921500312436371 -rwxr-xr-x  76 root  wheel  167136 Dec  2 02:00
  /usr/bin/clang
1152921500312436371 -rwxr-xr-x  76 root  wheel  167136 Dec  2 02:00
  /usr/bin/cpp
1152921500312436371 -rwxr-xr-x  76 root  wheel  167136 Dec  2 02:00
 /usr/bin/gcc

$ shasum -a 256 /usr/bin/clang /usr/bin/gcc /usr/bin/cpp    
ca08407ee7e1a179d096fe27b8edef2a24cb33402f6338654e1b25589df9a4ba
  /usr/bin/clang
ca08407ee7e1a179d096fe27b8edef2a24cb33402f6338654e1b25589df9a4ba
  /usr/bin/gcc
ca08407ee7e1a179d096fe27b8edef2a24cb33402f6338654e1b25589df9a4ba
  /usr/bin/cpp

Por lo tanto, al ejecutar cualquiera de estos, el nombre elegido para la ejecución ofrece la opción de permitir un comportamiento diferente para el mismo archivo.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X