2016-06-07 3 views
1

Я изучаю алгоритмы трассировки лучей, и я наткнулся на это site. В нижней части страницы есть доступная загрузка исходного кода. В файле tar есть файл rt.Открытие файла Linux на Windows

Как открыть этот файл? Я имею в виду, что это? Это сценарий или С-скомпилированный код? В любом случае, есть ли способ конвертировать это в исходный код?

Любой намек оценили, заблаговременно.

+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, и это может не работать с интеграцией Microsoft Ubuntu.

В этом случае вы можете дать что-то вроде virtualbox. Вы можете создать виртуальную машину Linux. Выберите дистрибутив, содержащий SDL (CentOS 7 делает.)

Я был в состоянии собрать его на CentOS7 просто делая g++ *.cc -lSDL, хотя я должен был изменить #include <SDL.h> к #include <SDL/SDL.h> в rt.cc.

Добавление:

SDL также доступна на Windows, и я заметил, что rt.cc имеет некоторый код Windows, в нем. Таким образом, вы можете получить это для компиляции непосредственно в Windows.

+0

Так что я не могу преобразовать его в нечто более читаемое? Причина, по которой я спрашиваю, заключается в том, что когда я открываю ее в PSPad, я вижу двоичные файлы, конечно, но рядом с ними есть символы, эквивалентные двоичному. И есть некоторый код С. Я просто ничего не могу прочитать. – Wanderer

+0

'rayt/tr' является двоичным. Вы можете разобрать его, но почему бы просто не прочитать исходный код в разделе «rayt/src /'? – rrauenza

+0

Если вы пытаетесь посмотреть файл * tar *, используйте 7zip, как это было предложено RaulTheThinker. Мой ответ относится к файлам, содержащимся внутри. – rrauenza

0

Используйте 7zip, чтобы распаковать этот файл (или что-нибудь совместимое с .tar действительно) . Там в «ЦСИ» папка внутри

Читайте о .tar: https://en.wikipedia.org/wiki/Tar_(computing)

В вычислительной технике, деготь является служебным компьютерной программой для сбора большого количества файлов в один архивный файл, часто упоминаются как тарболл, для распространения или резервного копирования. Имя получено из (t) ape (ar) chive, поскольку оно первоначально было разработано для записи данных на последовательные устройства ввода-вывода без собственной файловой системы. Архивные наборы данных, созданные tar, содержат различные параметры файловой системы, такие как имя, отметки времени, права собственности, разрешения доступа к файлам и организация каталогов.

+0

Пожалуйста, снова прочитайте вопрос. Я спрашиваю о файле rt. – Wanderer

+0

«В любом случае, есть ли способ конвертировать это в исходный код?» Исходный код находится внутри файла. Попробуйте использовать 7zip, и вы получите папку «** rayt **» с «** src **» внутри этого файла и без «** rt **». – RaulTheThinker

Смежные вопросы