2010-02-05 18 views
6

que os indique a Kernighan & Ritchie ejercicio 7,1¿Cómo invocar el mismo programa con un nombre diferente?

Escribir un programa que convierte mayúsculas a minúsculas o en minúsculas a mayúsculas dependiendo del nombre que se invoca con, ...

¿Cómo puedo invocar el mismo programa con diferentes nombres?

estoy usando Linux, así que estoy invocando un programa compilado con tan sólo introducir:.

$/a.out

Lo que debería hacer de manera diferente?

Respuesta

8

Debería crear un enlace simbólico, o simplemente copiar el ejecutable por supuesto:

De cualquier

$ ln -s a.out A.out 

o

$ cp a.out A.out 

Luego, en la main() su programa, inspeccione argv[0] de averiguar como actuar. Esta es una técnica bastante útil, realmente utilizada a menudo por software de producción.

+0

Simplemente copie el archivo, por supuesto. ¡Nunca pensé que sería tan simple! No me siento estúpido Gracias – Tom

+1

No olvides la opción de usar un enlace * hard *: 'ln a.out A.out'. Mejor que una copia o un enlace simbólico porque expresa tu intención exacta: dale a un archivo dos nombres. – dmckee

+0

@dmckee: Es cierto, supongo. Nunca utilizo enlaces duros, pero claro. – unwind

2

sólo podría copiarlo en un archivo diferente:

cp a.out myprogram1 
cp a.out myprogram2 

Wallah, el programa cuenta con diferentes nombres.

+0

+1 para Wallah, nunca supo cómo se deletreaba eso antes de – Patrick

+0

gracias. ¡simplemente no pensé en la solución obvia! – Tom

+0

@patrick No estoy seguro de que esté deletreando bien, solo hice una conjetura y fui con él;) –

Cuestiones relacionadas