Что делают DLL в Linux-программах?

Вы можете просто ввести или вставить в свой скрипт bash:

service tor reload
18
задан 10 September 2017 в 00:01

6 ответов

Игры, о которых вы говорите, основаны на .NET Framework и работают с Mono, что является бесплатной версией .NET Framework .NET с открытым исходным кодом.

Поскольку эти приложения основаны на .NET , Ассембли имеют расширение .dll. Таким образом, вы можете видеть файлы DLL в папках.

Одна .NET-программа, предназначенная для межплатформенного использования, может работать в Windows, Linux или Mac с теми же «двоичными файлами» (включая библиотеки DLL, которые также являются сборками) , которые компилируются в MSIL и требуют выполнения исполняемого файла .NET / Mono.

Обратите внимание, что у вас также есть бесплатные приложения (а не только игры) на основе Mono Framework, доступные в репозиториях Ubuntu. Например: Tomboy.

23
ответ дан 22 May 2018 в 18:38
  • 1
    Также обратите внимание, что эти dll не являются «реальными». windows dll, но на самом деле скомпилирован .NET bytecode. – Sanya_Zol 9 September 2017 в 16:01
  • 2
    Также обратите внимание, что расширения файлов, включая .dll и .so, в Linux не имеют смысла. Они используются только для нашего удобства. – ray 9 September 2017 в 18:43
  • 3
    @ray Можете ли вы объяснить? Я думал, что они все еще являются стандартом для передачи информации о типе файла, следовательно, они не бессмысленны? – FMaz 9 September 2017 в 19:36
  • 4
    @FynnMazurkiewicz: Это больше зависит от немного отличающихся дизайнерских традиций, чем от одного центрального атрибута, который обеспечивает система . Фактически, оба ядра Windows и динамический компоновщик Linux с удовольствием загружают общую библиотеку (в соответствующих форматах) независимо от того, является ли ее имя файла заканчивается на .dll или .so или что-то еще. По историческим причинам сценарий LoadLibrary в Windows в некоторых случаях добавит " .dll " к имени файла, если он уже не имеет расширения, но это не так, как обычно используется . – Henning Makholm 9 September 2017 в 20:08
  • 5
    @ray не совсем: gcc не найдет библиотеку, поставляемую, например, -lm, если его имя файла не заканчивается .so или .a или версиями. – Ruslan 10 September 2017 в 00:57

Игры, о которых вы говорите, основаны на .NET Framework и работают с Mono, что является бесплатной версией .NET Framework .NET с открытым исходным кодом.

Поскольку эти приложения основаны на .NET , Ассембли имеют расширение .dll. Таким образом, вы можете видеть файлы DLL в папках.

Одна .NET-программа, предназначенная для межплатформенного использования, может работать в Windows, Linux или Mac с теми же «двоичными файлами» (включая библиотеки DLL, которые также являются сборками) , которые компилируются в MSIL и требуют выполнения исполняемого файла .NET / Mono.

Обратите внимание, что у вас также есть бесплатные приложения (а не только игры) на основе Mono Framework, доступные в репозиториях Ubuntu. Например: Tomboy.

24
ответ дан 18 July 2018 в 07:09

Игры, о которых вы говорите, основаны на .NET Framework и работают с Mono, что является бесплатной версией .NET Framework .NET с открытым исходным кодом.

Поскольку эти приложения основаны на .NET , Ассембли имеют расширение .dll. Таким образом, вы можете видеть файлы DLL в папках.

Одна .NET-программа, предназначенная для межплатформенного использования, может работать в Windows, Linux или Mac с теми же «двоичными файлами» (включая библиотеки DLL, которые также являются сборками) , которые компилируются в MSIL и требуют выполнения исполняемого файла .NET / Mono.

Обратите внимание, что у вас также есть бесплатные приложения (а не только игры) на основе Mono Framework, доступные в репозиториях Ubuntu. Например: Tomboy.

24
ответ дан 24 July 2018 в 18:45

Файлы .dll в GameDataFolder/Managed относятся к программе с внутренним кодом, которая использует Mono внутри.

Игровой движок Unity встраивает Mono (даже на большинстве платформ Windows).

] Кросс-платформенные исполняемые файлы и разделяемые библиотеки, которые могут выполняться либо .NET Common Language Runtime, либо Mono, часто называются суффиксами .exe и .dll, соответственно, даже если они не являются специфическими для Windows. Когда вы находите файл .dll в программе для системы GNU / Linux, такой как Ubuntu, или для любой ОС, но Windows, обычно это так. В большинстве случаев, когда вы находите .dll в системе Ubuntu, ответ Голбота объясняет это. Но это не совсем то, что происходит здесь.

Ответ Golboth - обычно - популярный проприетарный кросс-платформенный игровой движок. Этот движок не работает поверх .NET Framework или Mono. Вместо этого он включает Mono, то есть Mono работает поверх него.

Как правило, Mono может использоваться так же, как обычно используется .NET CLR от Microsoft, для запуска полного .NET. / Моно. Но Mono также легко спроектирован . Этот движок не работает поверх .NET Framework или Mono. , включая возможность настройки этих приложений. Это то, что происходит в ситуации, которую вы описываете. Файлы, которые вы видите, не принадлежат программе, которая выполняется непосредственно поверх Mono или .NET CLR. Вместо этого они принадлежат к программе нативного кода, в которую встроен Mono.

Как движок игры Unity использует Mono

В игровом движке Unity, который написан в основном на C ++, размещен собственный экземпляр из Mono, который не использует - и может отличаться от - версии (если есть), установленной через диспетчер пакетов вашей системы. Эта встроенная среда исполнения Mono не может использоваться для запуска автономных программ .NET / Mono, поскольку это не является ее целью. Вместо этого часть собственного кода двигателя использует его для запуска кода CIL. (CIL является , чтобы эти приложения могли быть настроены , что является его официальным именем. Ранее это называлось MSIL или Microsoft Intermediate Language, поскольку Microsoft разработала его изначально.) Программисты, создающие игры, которые используют движок Unity, обычно напишите свой собственный код на C #, хотя поддерживаются некоторые другие языки.

Unity движет Mono даже в Windows. Для игр с универсальной платформой Windows Platform и других платформ она использует Microsoft .NET Framework вместо Mono. Но большинство игр Unity на большинстве платформ, включая большинство мобильных устройств и игровых консолей, включая Ubuntu и Windows, используют Mono. На некоторых платформах он включает Mono , доступный в качестве альтернативы Mono, а на некоторых поддерживается только IL2CPP.

Другие ситуации, где вы можете видеть .dll Файлы на Ubuntu

Были описаны две ситуации, когда вы, вероятно, увидите файл .dll на Ubuntu :

Общая библиотека, предназначенная для использования приложением .NET / Mono. Ответ Голбота описывает это подробно. Это то, что большинство .dll вы увидите в системе Ubuntu. Это просто не то, что для файлов .dll в вашей папке GameDataFolder/Managed. Файл, предоставляющий код, который используется встроенной средой Mono для обеспечения «скриптинга» для приложения с собственным кодом. Вот что происходит в этом случае.

Есть два других достаточно распространенных случая, когда вы можете увидеть файл .dll в Ubuntu:

Общая библиотека, предназначенная для использования .NET / Моно приложение. Ответ Голбота описывает это подробно. Это то, что большинство .dll вы увидите в системе Ubuntu. Это просто не то, что для файлов .dll в вашей папке GameDataFolder/Managed. Иногда файл .dll, который вы видите на Ubuntu, будет просто библиотекой Windows. Вы можете увидеть это, если программа хранит систему Ubuntu, но запускается в Windows, или если вы монтируете диск Windows в Ubuntu. Вы также можете увидеть его в связи с программами, которые могут быть запущены на Ubuntu с помощью ответа Golboth , включая программное обеспечение, поставляемое с Wine, или которое вы устанавливаете автоматически с помощью wintricks для поддержки другого программного обеспечения Windows.

Это не попытка исчерпывающе перечислить все обстоятельства, при которых вы можете столкнуться с .dll в Ubuntu. (Например, это также может быть Универсальная платформа Windows .) Однако я считаю, что эти четыре случая являются наиболее распространенными.

8
ответ дан 22 May 2018 в 18:38

Файлы .dll в GameDataFolder/Managed относятся к программе с внутренним кодом, которая использует Mono внутри.

Игровой движок Unity встраивает Mono (даже на большинстве платформ Windows).

] Кросс-платформенные исполняемые файлы и разделяемые библиотеки, которые могут выполняться либо .NET Common Language Runtime, либо Mono, часто называются суффиксами .exe и .dll, соответственно, даже если они не являются специфическими для Windows. Когда вы находите файл .dll в программе для системы GNU / Linux, такой как Ubuntu, или для любой ОС, но Windows, обычно это так. В большинстве случаев, когда вы находите .dll в системе Ubuntu, ответ Голбота объясняет это. Но это не совсем то, что происходит здесь.

Ответ Golboth - обычно - популярный проприетарный кросс-платформенный игровой движок. Этот движок не работает поверх .NET Framework или Mono. Вместо этого он включает Mono, то есть Mono работает поверх него.

Как правило, Mono может использоваться так же, как обычно используется .NET CLR от Microsoft, для запуска полного .NET. / Моно. Но Mono также легко спроектирован . Этот движок не работает поверх .NET Framework или Mono. , включая возможность настройки этих приложений. Это то, что происходит в ситуации, которую вы описываете. Файлы, которые вы видите, не принадлежат программе, которая выполняется непосредственно поверх Mono или .NET CLR. Вместо этого они принадлежат к программе нативного кода, в которую встроен Mono.

Как движок игры Unity использует Mono

В игровом движке Unity, который написан в основном на C ++, размещен собственный экземпляр из Mono, который не использует - и может отличаться от - версии (если есть), установленной через диспетчер пакетов вашей системы. Эта встроенная среда исполнения Mono не может использоваться для запуска автономных программ .NET / Mono, поскольку это не является ее целью. Вместо этого часть собственного кода двигателя использует его для запуска кода CIL. (CIL является , чтобы эти приложения могли быть настроены , что является его официальным именем. Ранее это называлось MSIL или Microsoft Intermediate Language, поскольку Microsoft разработала его изначально.) Программисты, создающие игры, которые используют движок Unity, обычно напишите свой собственный код на C #, хотя поддерживаются некоторые другие языки.

Unity движет Mono даже в Windows. Для игр с универсальной платформой Windows Platform и других платформ она использует Microsoft .NET Framework вместо Mono. Но большинство игр Unity на большинстве платформ, включая большинство мобильных устройств и игровых консолей, включая Ubuntu и Windows, используют Mono. На некоторых платформах он включает Mono , доступный в качестве альтернативы Mono, а на некоторых поддерживается только IL2CPP.

Другие ситуации, где вы можете видеть .dll Файлы на Ubuntu

Были описаны две ситуации, когда вы, вероятно, увидите файл .dll на Ubuntu :

Общая библиотека, предназначенная для использования приложением .NET / Mono. Ответ Голбота описывает это подробно. Это то, что большинство .dll вы увидите в системе Ubuntu. Это просто не то, что для файлов .dll в вашей папке GameDataFolder/Managed. Файл, предоставляющий код, который используется встроенной средой Mono для обеспечения «скриптинга» для приложения с собственным кодом. Вот что происходит в этом случае.

Есть два других достаточно распространенных случая, когда вы можете увидеть файл .dll в Ubuntu:

Общая библиотека, предназначенная для использования .NET / Моно приложение. Ответ Голбота описывает это подробно. Это то, что большинство .dll вы увидите в системе Ubuntu. Это просто не то, что для файлов .dll в вашей папке GameDataFolder/Managed. Иногда файл .dll, который вы видите на Ubuntu, будет просто библиотекой Windows. Вы можете увидеть это, если программа хранит систему Ubuntu, но запускается в Windows, или если вы монтируете диск Windows в Ubuntu. Вы также можете увидеть его в связи с программами, которые могут быть запущены на Ubuntu с помощью ответа Golboth , включая программное обеспечение, поставляемое с Wine, или которое вы устанавливаете автоматически с помощью wintricks для поддержки другого программного обеспечения Windows.

Это не попытка исчерпывающе перечислить все обстоятельства, при которых вы можете столкнуться с .dll в Ubuntu. (Например, это также может быть Универсальная платформа Windows .) Однако я считаю, что эти четыре случая являются наиболее распространенными.

8
ответ дан 18 July 2018 в 07:09

Файлы .dll в GameDataFolder/Managed относятся к программе с внутренним кодом, которая использует Mono внутри.

Игровой движок Unity встраивает Mono (даже на большинстве платформ Windows).

] Кросс-платформенные исполняемые файлы и разделяемые библиотеки, которые могут выполняться либо .NET Common Language Runtime, либо Mono, часто называются суффиксами .exe и .dll, соответственно, даже если они не являются специфическими для Windows. Когда вы находите файл .dll в программе для системы GNU / Linux, такой как Ubuntu, или для любой ОС, но Windows, обычно это так. В большинстве случаев, когда вы находите .dll в системе Ubuntu, ответ Голбота объясняет это. Но это не совсем то, что происходит здесь.

Ответ Golboth - обычно - популярный проприетарный кросс-платформенный игровой движок. Этот движок не работает поверх .NET Framework или Mono. Вместо этого он включает Mono, то есть Mono работает поверх него.

Как правило, Mono может использоваться так же, как обычно используется .NET CLR от Microsoft, для запуска полного .NET. / Моно. Но Mono также легко спроектирован . Этот движок не работает поверх .NET Framework или Mono. , включая возможность настройки этих приложений. Это то, что происходит в ситуации, которую вы описываете. Файлы, которые вы видите, не принадлежат программе, которая выполняется непосредственно поверх Mono или .NET CLR. Вместо этого они принадлежат к программе нативного кода, в которую встроен Mono.

Как движок игры Unity использует Mono

В игровом движке Unity, который написан в основном на C ++, размещен собственный экземпляр из Mono, который не использует - и может отличаться от - версии (если есть), установленной через диспетчер пакетов вашей системы. Эта встроенная среда исполнения Mono не может использоваться для запуска автономных программ .NET / Mono, поскольку это не является ее целью. Вместо этого часть собственного кода двигателя использует его для запуска кода CIL. (CIL является , чтобы эти приложения могли быть настроены , что является его официальным именем. Ранее это называлось MSIL или Microsoft Intermediate Language, поскольку Microsoft разработала его изначально.) Программисты, создающие игры, которые используют движок Unity, обычно напишите свой собственный код на C #, хотя поддерживаются некоторые другие языки.

Unity движет Mono даже в Windows. Для игр с универсальной платформой Windows Platform и других платформ она использует Microsoft .NET Framework вместо Mono. Но большинство игр Unity на большинстве платформ, включая большинство мобильных устройств и игровых консолей, включая Ubuntu и Windows, используют Mono. На некоторых платформах он включает Mono , доступный в качестве альтернативы Mono, а на некоторых поддерживается только IL2CPP.

Другие ситуации, где вы можете видеть .dll Файлы на Ubuntu

Были описаны две ситуации, когда вы, вероятно, увидите файл .dll на Ubuntu :

Общая библиотека, предназначенная для использования приложением .NET / Mono. Ответ Голбота описывает это подробно. Это то, что большинство .dll вы увидите в системе Ubuntu. Это просто не то, что для файлов .dll в вашей папке GameDataFolder/Managed. Файл, предоставляющий код, который используется встроенной средой Mono для обеспечения «скриптинга» для приложения с собственным кодом. Вот что происходит в этом случае.

Есть два других достаточно распространенных случая, когда вы можете увидеть файл .dll в Ubuntu:

Общая библиотека, предназначенная для использования .NET / Моно приложение. Ответ Голбота описывает это подробно. Это то, что большинство .dll вы увидите в системе Ubuntu. Это просто не то, что для файлов .dll в вашей папке GameDataFolder/Managed. Иногда файл .dll, который вы видите на Ubuntu, будет просто библиотекой Windows. Вы можете увидеть это, если программа хранит систему Ubuntu, но запускается в Windows, или если вы монтируете диск Windows в Ubuntu. Вы также можете увидеть его в связи с программами, которые могут быть запущены на Ubuntu с помощью ответа Golboth , включая программное обеспечение, поставляемое с Wine, или которое вы устанавливаете автоматически с помощью wintricks для поддержки другого программного обеспечения Windows.

Это не попытка исчерпывающе перечислить все обстоятельства, при которых вы можете столкнуться с .dll в Ubuntu. (Например, это также может быть Универсальная платформа Windows .) Однако я считаю, что эти четыре случая являются наиболее распространенными.

8
ответ дан 24 July 2018 в 18:45

Другие вопросы по тегам:

Похожие вопросы: