2016-06-07 136 views
1

我正在学习光线跟踪算法,并且遇到了这个问题site. 在页面底部有一个可用的源代码下载。在tar文件中有一个rt文件。在Windows上打开Linux文件

如何打开此文件?我的意思是,它是什么?它是一个脚本还是一个C编译的代码?无论如何,有没有办法将其转换为原始源代码?

任何暗示赞赏,在此先感谢。

+0

您可以随时用Notepad ++打开任何文件。它会找出换行符并显示文件的意图。 (在这种情况下,你有一个二进制文件,所以它看起来像垃圾,但它确实是打开的文件)。 – SnakeDoc

回答

2

文件rt是一个预编译的linux二进制文件(见下文)。作者包括tar文件中的所有编译工件以及源代码。

$ tar xf rt.tar 
$ file rayt/rt 
rayt/rt: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, BuildID[sha1]=3b7cd05d3123da4404969eb68d76ceb2858eeedd, not stripped 

虽然你可以看看运行Ubuntu on Windows 10,但你不能真正做得太多。不过,它使用SDL,而这可能不适用于微软的Ubuntu集成。

在这种情况下,您可以试试类似virtualbox的东西。你可以制作一个Linux VM。挑选包含SDL分布(CentOS的7一样。)

我能够只是在做g++ *.cc -lSDL编译它CentOS7,虽然我曾在rt.cc改变#include <SDL.h>#include <SDL/SDL.h>

附录:

SDL也可在Windows和我注意到rt.cc中有一些Windows代码。所以你可能可以直接在Windows上编译。

+0

所以我不能将它转换成更具可读性的东西?我问的原因是因为当我在PSPad中打开它时,我会看到二进制文件,但在旁边有与二进制文件等效的字符。还有一些C代码。我只是无法阅读任何东西。 – Wanderer

+0

'rayt/tr'是一个二进制文件。你可以反汇编它,但为什么不直接阅读'rayt/src /'下的源代码? – rrauenza

+0

如果您正在尝试查看* tar文件*,请使用RaulTheThinker建议的7zip。我的答案是特定于其中包含的文件。 – rrauenza

0

使用7zip来解压该文件(或与.tar兼容的任何东西) 。里面有

一个“SRC”文件夹阅读的.tar: https://en.wikipedia.org/wiki/Tar_(computing)

在计算中,焦油是收集许多文件合并成一个档案文件的计算机软件应用程序,通常被称为一个压缩包,用于分发或备份的目的。这个名字来源于(t)ape(ar)香葱,因为它最初是为了将数据写入顺序I/O设备而没有自己的文件系统。由tar创建的存档数据集包含各种文件系统参数,例如名称,时间戳,所有权,文件访问权限和目录组织。

+0

请再次阅读该问题。我在问rt文件。 – Wanderer

+0

“无论如何,有没有办法将其转换为原始源代码?”源代码在文件中。尝试使用7zip,你会得到里面有“** src **”的“** rayt **”文件夹,并且没有“** rt **”文件。 – RaulTheThinker

相关问题