解释性语言可以有入口点吗

Can a Interpreted language have a entry point

我想知道,是否只有基于编译器的语言使用入口点,或者基于解释器的语言是否也可以使用入口点,如果是,请举一个例子。

I shell 脚本从脚本文件的开头开始。 python 程序从 python 文件的开头开始。在这两种情况下,您都可以将其称为“入口”点。

如果一个程序从文件的开头开始(就像上面的两个例子)或从一个特定的函数开始(像main),这个决定与做出一个决定无关编译或解释的语言。这仅仅是语言设计方面的考虑。

加法
例如在 python 中做类似

的事情实际上是很常见的
# include statements and
# class definitions and
# function definitions go here

def main():
    pass    
    #do main stuff here

if __name__ == "__main__":
    main()

这定义了一个主函数,如果模块是主程序文件,第一个 non-definition 语句调用它。

在 Linux 中启动程序的典型方式是 shell 调用 fork+execve。新进程被加载并在可执行文件格式指定的入口点开始执行;例如精灵。在解释语言的情况下,可执行文件是在第一行#! 之后指定的解释器。比如/usr/bin/python.