这是一个随机问题,很明显,我不想这样做,因为这是不好的做法,但是是否可以编译并运行没有扩展名的文件中的代码?这是否适用于c,C++,java,python,任何语言?如果是这样,那么比造型师的更多扩展还是它有其他目的?编译器可以在没有扩展的情况下编译代码吗?
回答
扩展名并不意味着什么。只是一种方法来帮助你跟踪什么文件是什么。 (也可以帮助像GUI浏览器这样的东西在正确的程序中打开文件)。 (Java可能在意语言规范说源文件以.java结尾,但可能有办法破解它)。
当然,编译器前端更难以为多种语言提供服务。但是,是的,文件扩展名不如许多人想象的那么重要。 – delnan 2010-11-22 20:26:24
这实际上是依赖于编译器的。例如,我会想象有一些C/C++编译器调度程序会根据以.c或.cpp结尾的文件做出一些假设,但也可能有命令行选项来明确指定应如何处理文件。
这更依赖于使用的编译器而不是语言。例如。 gcc/g ++有一个命令行选项-x <language>
,它允许覆盖基于文件扩展名的检测。一个用例是使用-
(即stdin)作为输入。
如果你甚至不需要文件,你怎么需要扩展? :) – BCS 2010-11-24 01:34:13
许多编译器可以接受构建中的多种类型的文件,并使用文件的扩展名来确定如何处理它。例如,一个也许可以说:
acmecompile foo.c bar.c fred.cpp wow.asm lib1.lib compilething.obj -o result.exe
它会用的各种文件的扩展名,以确定前两个应该通过C编译器喂,接下来通过一个C++编译器,以及下一通过汇编程序。最后两个应该直接送到链接器。
通常,会有一些方法告诉编译器应该以特定的方式处理特定文件,而不管其扩展名为何;例如,有时可能需要将多目标应用程序中的某些文件编译为C用于某些目标,C++用于其他目标(在我的一个项目中,主目标是C编译的并使用硬件I/O寄存器;而另一个用C++构建的目标用属性替换这些寄存器)。
- 1. 在没有Visual Studio的情况下编译Microsoft的LoginAdmin.dll代码
- 2. 是否可以在没有lib的情况下编译C++?
- 3. 我可以在没有编译器的情况下将.c文件编译为.exe文件吗?
- 4. 查看编译器扩展代码 - C++
- 5. spidermonkey可以在没有数学支持的情况下编译吗?
- 6. 我可以在没有cuda设备的情况下编译cuda程序吗
- 7. 我可以在没有Google Closure库的情况下编译ClojureScript吗?
- 8. 如何在不调试的情况下编译PHP扩展?
- 9. 我可以在没有“扩展”的情况下创建GUI吗?
- 10. 我可以在没有编译的情况下在我自己的文本编辑器中使用Less吗?
- 11. JIT编译器可以在没有虚拟机的情况下创建
- 12. python distutils可以编译CUDA代码吗?
- 13. 预编译js.erb文件或在没有预编译的情况下加载
- 14. 编译器是否只编译可以执行的代码?
- 15. 重新编译编译器对编译后的代码有影响吗?
- 16. 预编译可扩展宏
- 17. 如何在没有主函数的情况下编译C源代码?
- 18. 在没有.NET Framework 4.0的情况下使用Windows SDK 7.1编译C++代码
- 19. 在没有配置和代码签名的情况下编译GKRocket演示
- 20. 代码编译没有
- 21. 代码CGColorSpaceCreateDeviceRGB没有编译
- 22. 你可以在没有NI光学编码器的情况下使用DAQmx吗?
- 23. Fortran 95编译器是否可以编译Fortran 77代码?
- 24. 是否有可能在不进入REPL的情况下编译clojure源代码?
- 25. Scala代码在不使用scalac编译的情况下运行?
- 26. 如何在不编译源代码的情况下安装Numpy
- 27. 有人可以为我编译PHP runkit DLL扩展吗?
- 28. 在没有fenv.h的情况下在cygwin中编译redisql
- 29. 我可以使用C++编译器来编译c源代码吗?
- 30. 可以在不使用编译器的情况下使用clang获取C/C++代码的XML AST转储吗?
文件扩展名不代表任何内容。我可以命名带有.jpg结尾的HTML文件。它只是磁盘上的数据:软件如何解释数据是重要的。 – 2010-11-22 20:26:16