首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实现查询的技术

实现查询的技术
EN

Stack Overflow用户
提问于 2011-08-22 08:41:59
回答 4查看 182关注 0票数 2

几年前,我在考虑如何制作一个打印自己的源代码的程序,我想出了以下两种方法:

  • 程序根据可执行名称打印.c或.cpp文件(app1打印app1.cpp)。但是,如果.cpp文件位于其他地方,这将失败。
  • 程序使用字符串“聪明”(我忘记了该文件的源代码),并打印自己.

一个程序还有其他算法可以用来打印自己的源代码吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-08-22 08:47:46

我想你的两个案子涵盖了所有的选择。Case (1)覆盖表单的情况“从外部设备加载程序源”,而case (2)覆盖表单的情况“以编程方式生成程序源”。当然,您可以考虑一种混合方法,比如“从文件中读取程序的前半部分,然后以编程方式生成后半部分”,但这与上面描述的没有什么不同。

票数 2
EN

Stack Overflow用户

发布于 2011-08-22 09:37:42

正如Steve在注释(案例1)中指出的那样,通常不被认为是quine,可能是因为它在任何可以执行文件I/O的语言中都是微不足道的。

例2)大多数人说quine是什么意思,“巧妙地使用字符串”是你炫耀的一部分。

在某些语言中,有第三种情况(通常也不算为真正的quine,因为它甚至比案例1更琐碎)。如果一种语言允许没有任何语句的程序格式良好,那么这个“空”程序通常不会打印任何内容,这当然与其源代码相同。例如,TCL脚本:

将印刷:

;)

票数 2
EN

Stack Overflow用户

发布于 2011-08-22 09:14:45

程序不必是具有特定“名称”的“可执行文件”,而且源代码不一定位于具有特定“名称”的“文件”中。这些都是现代操作系统的产物,与手头的工作完全无关。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7144939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档