Nombre portátil del compilador (y enlazador) de C++

Nombre portátil del compilador (y enlazador) de C++

cc es el nombre POSIX del compilador de C. ¿Existe un nombre general para el compilador (y enlazador) de C++? Tenga en cuenta que g++también agrega algunas bibliotecas que no se incluirán cuando se use gcc o ld simples.

Respuesta1

La interfaz del compilador POSIX C esahorac99; ccestá ampliamente disponible pero no está garantizado. POSIX no especifica nada relacionado con C++, por lo que no encontrará allí un comando estandarizado para invocar un compilador y enlazador de C++.

Práctica común (ver por ejemploMarca GNU) es confiar en las variables CCy CXX. En el caso de GNU, los valores predeterminados para ellos son ccy g++respectivamente; Los BSD tienden a usar ccy c++(ver por ejemploConfiguración de OpenBSD). Se accede al vinculador a través del controlador del compilador y no se invoca explícitamente.

Respuesta2

En cuanto a Linux, la mayoría de los Makefile que he visto en las últimas dos décadas no usan nada más que gcc/ g++. Cuando alguien se molesta en utilizar un enlazador real y no GCC, normalmente especifica ld. Lo he visto cctal vez una vez.

La mayoría de las distribuciones de Linux proporcionan un enlace simbólico desde cchacia, gccpero no lo hacen si eliminas GCC e instalas clang en su lugar.

No tengo idea si es portátil, como por ejemplo FreeBSD ha migrado recientemente a Clang/LVM, otros BSD continúan usando GCC, Mac OS también usa Clang. Android tiene su propia cadena de herramientas.

No he usado ningún otro Unix, así que no hay comentarios.

¿Cuál es su caso de uso? Edite su pregunta y proporcione más detalles.

información relacionada