P/Invocar em Mono
Pergunta
Qual é o status atual de MonoImplementação do Platform Invoke no Linux?E no Solaris?
Solução
Funcionando, utilizável e estável.Ele foi bem testado, pois muitas das funcionalidades de baixo nível do mono precisam ser empacotadas através dele para o sistema operacional subjacente.
Há alguns Extensões P/Invoke quando comparado à implementação do Microsoft .Net (afinal eles lidam com uma única família de sistemas operacionais e no máximo três arquiteturas).O mais notável deles seria que os mapeamentos de biblioteca transformam o nome da biblioteca em variantes específicas do sistema operacional (por exemplo, mylib.dll
procura por mylib.so
no Linux, mylib.dylib
no OS X e assim por diante) e leve em consideração várias outras convenções específicas do sistema.Há também um DLLMap extensão de configuração que pode ser usada se as traduções de nomes padrão não forem suficientes.Normalmente é conveniente ter a mesma API da biblioteca binária exposta em diferentes sistemas operacionais, de modo que a migração entre plataformas exija apenas alterações no código C, não na parte .Net.