LINUX.ORG.RU
ФорумTalks

А под Линуксом так можно?

 ,


1

2

Есть программа на сишарпе:

using System;
using Какаято.Библиотека;

namespace Application
{
    class Program
    {
        static void Main(string[] args)
        {
            ScriptContext context = new ScriptContext("C:\\Path\\To\\some.dll");
            TBrevno brevno = TBrevno.Create();
            brevno.DoTheJob();
            context.Dispose();
        }
    }
}

Вопрос: можно ли собрать и использовать эту программу под Линуксом, используя WINE? some.dll пересобрать под Линукс нельзя. Архитектура x86, 32-разрядная. По каким словам гуглить?

Не в Development потому, что пока такая задача не стоит. Спрашиваю только из любопытства.

★★★

Можно, но это ****** как по ********* все будет работать, и конечно ты это все ********* настраивать.

Пруфов не будет.

Deleted
()

А что мешает эту программу собрать используя Mono нативно под линуксом ?

some.dll - это библиотека с нативным x86\x64-кодом или managed-dll'ка для .NET ? Если второе - то оно должно заработать с Mono, и пересобирать её специально под Mono не потребуется. Конечно, бывают ситуации, когда managed-код использует какой-нибудь WinAPI или API присутствующий только в вендовом .NET, но в общем случае, .NET-библиотеки и экзешники бинарно совместимы с Mono.

DawnCaster ★★
()
Последнее исправление: DawnCaster (всего исправлений: 2)
Ответ на: комментарий от DawnCaster

some.dll - это библиотека с нативным x86\x64-кодом или managed-dll'ка для .NET ?

Именно с нативным x86-кодом и вызовами WinAPI. Поэтому и вопрос про WINE.

olegd ★★★
() автор топика
Ответ на: комментарий от olegd

Походу, в вашем случае спасёт только вайн. В вайне вроде как был вендовый .NET и Mono имитирующий его. Ставится вроде через winetricks. По крайней мере года 3 назад это всё было, когда я последний раз как следует крутил вайн.

Как альтернативный вариант - можно расковырять вендовую нативную библиотеку, составить список её символов, и сварганить нативную библиотеку уже под линукс с такими-же символами и кодом эмулирующим поведение вендовой библиотеки, а потом подсунуть это дело .NET экзешнику при запуске. Но, понятное дело, если там что-то сложное - то без документации нифига не получится. Можно ещё декомпилировать байт-код .NET экзешника (или почитать исходники если есть) чтобы понять что она ожидает от этой нативной библиотеки, чтобы было проще реализовать нативно-линуксовую замену.

DawnCaster ★★
()
Ответ на: комментарий от olegd

можно, но запускать надо именно через wine, не mono. Wine использует mono когда надо.

про ScriptContext не знаю

dib2 ★★★★★
()

можно ли собрать и использовать эту программу под Линуксом, используя WINE?

Смотря что ты имеешь в виду. TeamSpeak для линукса, например, с winelib собран.

Quasar ★★★★★
()

Я бы тоже подумал о winelib

cvv ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.