如何使用不同的名称调用相同的程序?

6
我指导您查看 Kernighan & Ritchie 练习 7.1。
写一个程序,根据它被调用时的名称将大写字母转换为小写字母或将小写字母转换为大写字母,...
如何使用不同的名称调用同一程序?
我正在使用Linux,所以只需输入以下命令来调用已编译的程序: $ ./a.out
我应该做些什么不同的事情呢?
2个回答

8
您应该创建一个符号链接,或者只需复制可执行文件即可:
要么:
$ ln -s a.out A.out

或者

$ cp a.out A.out

在你的程序的main()函数中,检查 argv[0] 来确定程序如何操作。这实际上是一个非常有用的技术,经常被生产软件使用。


只需要复制文件就可以了,当然了。从来没有想过会这么简单!我感觉自己有点蠢。谢谢。 - Tom
1
不要忘记使用硬链接的选择:ln a.out A.out。这比复制或符号链接更好,因为它表达了您的确切意图:给一个文件两个名称。 - dmckee --- ex-moderator kitten
@dmckee:没错,我猜是这样。我自己从不使用硬链接,但可以肯定。 - unwind

2
您可以将其复制到另一个文件中:
cp a.out myprogram1
cp a.out myprogram2

您好,您的程序有不同的名称。


@patrick,不确定自己是否拼对了,只是猜了一个然后就发出来了 ;) - Daniel Bingham
1
Voilà在技术上是正确的拼写。它是法语,基本上意思是“就是这样...” - Jacob G
哦,我不是想到了“voila”,更多的是像小号一样的声音。 - Patrick
@Jacob 谢谢 :) 每天都学点新东西。我一直以为Voila读起来更像Viola,与whallah或wallah完全不同。看来我读得太多了,结果就是这样 ;) - Daniel Bingham
复制文件需要维护两个版本,因此链接是更好的选择。 - Diego Torres Milano

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接