Suponha que existe uma aplicação, escrita em C, que monitoriza as condições de uma fábrica e que é necessário incorporar esta funcionalidade numa aplicação Java.
A abordagem tradicional usando JNI envolve desenvolvedores Java e C bem como coordenação de gerenciamento para manter a funcionalidade sincronizada.
Em contrapartida, a utilização do JNIWrapper é trivial e poupa tempo e esforços de forma significativa.
Características
Alto desempenho
O JNIWrapper pode tratar grandes quantidades de dados envolvidos nas interacções entre o código Java e o código nativo, sem qualquer afinação da sua parte.
Gestão automática da memória
Todos os recursos atribuídos pelo JNIWrapper são libertados automaticamente quando já não são necessários. É possível tratar as variáveis do JNIWrapper como objetos Java normais que podem ser recuperados pelo coletor de lixo Java. Além disso, os objetos JNIWrapper são seguros no que diz respeito aos finalizadores: todos os recursos estão garantidamente disponíveis durante a finalização.
Invocação de função nativa
O JNIWrapper suporta as convenções de chamada stdcall e cdecl e vários tipos de dados C/C++, incluindo estruturas, uniões e ponteiros. As chamadas de retorno são totalmente suportadas com qualquer parâmetro e tipos de retorno e ambas as convenções de chamada. Consulte Chamando Funções Nativas no nosso Guia do Programador. Veja Amostras do JNIWrapper
Arquitetura extensível
É possível implementar novos tipos de dados ou personalizar os existentes, assumindo o controle total sobre o comportamento dos parâmetros. Veja Estruturas e Uniões no nosso Guia do Programador. Veja também os exemplos relacionados: Exemplos de Uniões, Estrutura de União.
Invocação de funções simultâneas com segurança de thread
Pode executar todas as chamadas de funções nativas simultaneamente a partir de diferentes threads Java sem a necessidade de sincronização, tal como se estivesse invocando métodos Java simples. Consulte Trabalhando com Multithreading no nosso Guia do Programador.
Utilizando o Assistente de Geração de Código incluído no JNIWrapper, é possível gerar wrappers Java para um conjunto necessário de tipos C, incluindo estruturas, uniões e retornos de chamada.
WinPack
Ao adquirir o JNIWrapper, recebe o WinPack, um suplemento gratuito que permite o acesso à API nativa do Windows e às bibliotecas a partir do código Java. O WinPack fornece vários recursos de integração para fazer com que seu aplicativo Java pareça e se comporte como um cidadão Win32. O WinPack não requer conhecimento extensivo da API Win32, nem qualquer escrita de classes de wrapper complicadas para JNI.
Utilizando a API de serviços, é possível iniciar, parar ou eliminar um serviço, apresentar todos os serviços em execução numa lista e alterar as opções do serviço. O WinPack permite-lhe monitorar e gerir processos do sistema, módulos, memória e registros de eventos. Ver exemplos relacionados: Accessar Serviços de Computador Remoto, Amostra de Processos Enum, Amostra de Log de Eventos.
Acesso ao registro
Com apenas um fragmento de código, pode fazer com que a sua aplicação Java leia, escreva ou elimine as chaves e os valores do registro do Windows. A maioria dos principais tipos de dados é suportada. Veja os seguintes exemplos: Configurar Valores de Chave de Registro, Valores de Chave de Registro Enum.
Gestão de eventos e arquivos
O WinPack permite-lhe ouvir os eventos do sistema de arquivos. Também é possível obter atributos de arquivos, verificar o espaço em disco e identificar o tipo de suporte de disco. Veja o Exemplo do Sistema de Arquivos.
Exemplos de aplicações criadas pelos nossos clientes
Aplicações ricas em Java de clientes.
A JNIWrapper fornece acesso fácil à funcionalidades e recursos do SO, tais como janelas e diálogos nativos, registro do sistema, ganchos, recursos da shell, etc. A biblioteca permite a utilização de funções de qualquer plataforma sem a necessidade de escrever wrappers (JNI) adicionais.
Bibliotecas Java para integração com SDKs nativos.
O Gerador de Código do JNIWrapper cria wrappers para tipos C nativos a partir de um SDK. Isso torna a rotina de desenvolvimento Java mais eficiente.
Integração com aplicações nativas antigas.
O JNIWrapper permite que as aplicações Java interoperem com aplicações nativas e bibliotecas escritas em diferentes linguagens de programação, como C/C++, Pascal, ASM, etc.
Soluções de integração Java multiplataforma
que podem ser construídas sobre as bibliotecas nativas multiplataformas existentes. Isto é possível graças ao suporte JNIWrapper de vários sistemas operacionais e plataformas.
Plug-ins e add-ons escritos em Java
para vários cenários de integração, o que é possível graças ao excelente desempenho do JNIWrapper e à sua gestão nativa da memória.
Durante o período de avaliação, utilize o endereço de correio eletrônico fornecido na mensagem de correio eletrônico de avaliação.
Se tiver uma inscrição de suporte ativa, utilize o endereço de correio eletrônico fornecido na mensagem de correio eletrônico de confirmação da compra da licença.
Suporte Avaliação
Fornecido por 30 dias
Suporte Padrão
Fornecido por um ano com 25% de desconto para renovação
Se tiver perguntas não abrangidas pela documentação, envie-nos um e-mail para
Na verdade, adquirimos uma licença e estamos muito satisfeitos com o produto: ótimo trabalho! Este produto nos poupa tempo, uma vez que não tenho de escrever a camada JNI.— Sébastien Gemme,Agência Espacial Canadiana
…Fiquei muito impressionado com a quantidade de funcionalidades fornecidas, bem como com a estabilidade e robustez do produto…— Stephen Renner,IP Austrália
Estou muito satisfeito com o produto, pois considero a abstração da funcionalidade JNI de Java bastante útil.— Adam Acott,Novex Software Development Inc.
…a minha breve experiência com o seu produto, tendo em conta a minha experiência anterior com JNI, foi muito satisfatória. Desenvolvi num fim-de-semana o que me levou duas semanas, pelo menos, utilizando outras ferramentas.— Hector Zendejas,Cardware.biz
Licença perpétua
A licença perpétua significa que você sempre poderá usar a versão do produto que comprou ou aquela para a qual atualizou durante a assinatura de suporte válida.
Licença perpétua
A licença perpétua significa que você sempre poderá usar a versão do produto que comprou ou aquela para a qual atualizou durante a assinatura de suporte válida.
Distribuição gratuita na sua aplicação
1 projeto
Incluído num pacote Java do projeto .
Atualizações e Suporte
1 ano de atualizações de produtos
1 ano de assistência técnica
75 horas de suporte durante 1 ano
Solicitar licença para projetos
Enviando…
Desculpe, o envio foi interrompido
Tente novamente. Se o problema persistir, contate-nos através do endereçoinfo@teamdev.com.
Licença perpétua
A licença perpétua significa que você sempre poderá usar a versão do produto que comprou ou aquela para a qual atualizou durante a assinatura de suporte válida.
Distribuição gratuita na sua aplicação
Projetos Ilimitados
Atualizações e Suporte
1 ano de atualizações de produtos
1 ano de assistência técnica
100 horas de suporte durante 1 ano
Solicitar licença para toda a empresa
Enviando…
Desculpe, o envio foi interrompido
Tente novamente. Se o problema persistir, contate-nos através do endereçoinfo@teamdev.com.
Este é um acordo legal (“Acordo”) entre você (um indivíduo ou uma entidade), e TeamDev Management OÜ agindo sob a marca registrada TeamDev (“TeamDev”).
IMPORTANTE [LEIA COM ATENÇÃO]: AO INSTALAR,
UTILIZAR OU COPIAR O SOFTWARE OU QUALQUER DOCUMENTAÇÃO RELACIONADA
(“SOFTWARE”) CONCORDA EM FICAR VINCULADO AOS TERMOS E CONDIÇÕES DE
ESTE ACORDO. SE NÃO CONCORDAR COM ESTES TERMOS E CONDIÇÕES, O UTILIZADOR NÃO ESTÁ
AUTORIZADO A INSTALAR OU UTILIZAR O SOFTWARE.
Definições
a) “Software” significa o produto de software fornecido pela TeamDev em formato binário e documentação correspondente, meios associados, materiais impressos e documentação eletrônica ou online.
b) “Runtime” significa os arquivos que estão incluídos no Software e são necessários para a distribuição dos programas que cria utilizando o Software. Os arquivos de Runtime são identificados na documentação que acompanha o software ou na documentação online (“Documentação”). Você deve consultar a Documentação, incluindo quaisquer arquivos “readme” ou “runtime” fornecidos com o Software, para obter informações adicionais sobre arquivos redistribuíveis.
c) “Chave de Licença de Avaliação” significa um ficheiro que permite utilizar o Software para fins de avaliação por um período limitado de tempo que terá início no dia da aquisição da Licença de Avaliação e terminará em conformidade com as disposições definidas na secção 3. “Concessão de Licença de Avaliação” do presente Acordo.
d) “Chave de Licença de Desenvolvedor” significa um arquivo que lhe permite integrar o Software em programas que cria.
e) “Chave de Licença Runtime” significa um arquivo que é necessário para a distribuição dos seus trabalhos que incluem o Software.
f) “Data Efetiva do Acordo” significa a data em que recebe a Chave de Licença de Avaliação ou Chave de Licença de Desenvolvimento, consoante o que ocorrer primeiro.
g) “Versão(ões) Menor(es)” significa a versão do Software, identificada por umaalteração no segundo e/ou em qualquer um dos seguintes níveis da sequência de números de versão, por exemplo: 1.0.5, 1.2.1, 1.2.2, etc.
h) “Componente(s) Open-Source” Para efeitos do presente Acordo, entende-se por qualquer software cujo código fonte esteja publicamente disponível para utilização, modificação e distribuição.
Propriedade e Licença
O Software é propriedade da TeamDev, com direitos de autor e protegido por leis de direitos de autor e disposições de tratados internacionais. O Software é licenciado, não vendido. Ao instalar ou utilizar o Software, você não adquire quaisquer direitos sobre o Software, exceto conforme expressamente estabelecido no presente Acordo. Todos os direitos não expressamente concedidos neste documento são reservados pela TeamDev.
Os direitos sobre os Componentes Open-Source utilizados pelo Software são propriedade dos seus respectivos proprietários de direitos de autor.
Concessão de Licença de Avaliação
Sujeito aos termos e condições deste Acordo, a TeamDev concede-lhe um direito não exclusivo e intransmissível de utilizar uma cópia da versão especificada do Software e da Documentação para o único propósito de avaliação durante o período de 30 dias de calendário (Período de Avaliação), e criar uma cópia do Software para fins de backup.
Concessão de Licenças de Desenvolvimento e de Runtime
4.1. Sujeito ao pagamento de taxas de licença aplicáveis e aos termos e condições deste Acordo, a TeamDev concede a você uma licença não-exclusiva e intransferível para (i) usar a versão do Software e Documentação registrada nas Chaves de Licença de Desenvolvimento e Runtime, incluindo as atualizações da Versão Menor (ii) para reproduzir e distribuir os ficheiros de Runtime na forma executável e com a Chave de Licença Runtime como parte dos programas que cria utilizando o Software sem taxas de distribuição adicionais (“Licença de Desenvolvimento
”).
A Licença de Desenvolvimento é fornecida a você de acordo com as condições de utilização0 de um ou vários dos tipos de licença descritos nas secções 4.2.–4.5. abaixo. O tipo de Licença de Desenvolvimento que rege a sua utilização do Software é registrado na Chave de Licença de Desenvolvimento, fornecida a você aquando ocorre a compra da licença.
4.2. Licença de Desenvolvedor pode ser utilizado pelos desenvolvedores, quer sejam funcionários ou contratantes independentes que executem serviços para você sob o seu controle. O número de seus desenvolvedores usando o Software sob uma Licença de Desenvolvedor não pode exceder o número de Licenças de Desenvolvedor adquiridas da TeamDev. Você não pode fazer mais cópias de as Chaves de Licença Comercial por Desenvolvedor ou distribuir tais chaves para mais desenvolvedores de software, do que o número de as Licenças por Desenvolvedor concedidas por esta secção 4. de este Acordo. O seu nome ou o nome da entidade e o número de Licenças de Desenvolvimento adquiridas são registrados nas Chaves de Licença de Desenvolvimento e de Runtime.
4.3. Licença de Projecto pode ser utilizada no seu único projeto por qualquer número de seus desenvolvedores, quer sejam funcionários ou contratantes independentes que executem serviços para você sob o seu controle. Para efeitos do presente Acordo “Projeto” significa um produto de software criado por si, quaisquer versões futuras ou trabalhos derivados baseados em esse produto de software. Você não pode utilizar a Licença de Projeto para mais do que um Projeto. Você reconhece que uma Licença de Projeto está vinculada a um Projeto específico no momento da emissão, e, posteriormente, não pode ser utilizada para ou em ligação com qualquer outro Projeto.
4.4. Licença Ampla de Empresa– pode ser utilizada em qualquer número dos seus projetos por qualquer número dos seus desenvolvedores, sejam eles empregados ou contratantes independentes que realizem serviços para você sob o seu controle.
4.5. Licença Pessoal permite a uma pessoa exercer os direitos da Licença de Desenvolvimento. Não pode ser transferida para qualquer terceiro após a compra. O nome da pessoa, a quem a licença é concedida, é registrado nas Chaves de Licença de Desenvolvimento e de Runtime. A Licença Pessoal pode não estar disponível para um Software específico. A disponibilidade da Licença Pessoal está listada em na secção “Licenciamento e Preços” de na página do produto de Software correspondente no site TeamDev, localizado em no seguinte endereço web: teamdev.com.
Restrições da Licença
5.1. Restrições Gerais da Licença. Você NÃO pode: a) modificar, adaptar, alterar, traduzir, descompilar, fazer engenharia reversa ou desmontar o Software, exceto conforme possa ser necessário para substituir um Componente de Código Aberto de terceiros que seja utilizado no Software; b) remover quaisquer avisos de propriedade ou etiquetas no Software; c) fazer mais cópias do Software do que o número de licenças adquiridas (excluindo uma cópia para fins de backup); d) alugar, arrendar, ou transferir direitos para o Software.
5.2. Restrições da Licença de Avaliação. Além das restrições gerais indicadas na seção 5.1., como o titular da Licença de Avaliação você NÃO pode: a) utilizar o Software para fins comerciais; b) utilizar o Software após a expiração do período de avaliação.
5.3. Restrições de Licença de Desenvolvimento e de Runtime. Além das restrições gerais de indicadas na seção 5.1., como detentor da Licença de Desenvolvimento e de Runtime você NÃO pode: a) utilizar a Chave de Licença de Desenvolvimento para redistribuir ficheiros de Runtime como parte das suas aplicações; b) utilizar a Chave de Licença de Runtime para fins de desenvolvimento.
Marketing
Você concorda em ser identificado como um cliente da TeamDev e concorda que a TeamDev pode referir-se a você pelo nome, nome comercial e marca registrada, se aplicável, e pode descrever brevemente o seu negócio nos materiais de marketing e sites da TeamDev. Por este meio, você concede à TeamDev uma licença para utilizar o seu nome e qualquer um dos seus nomes comerciais e marcas comerciais apenas em relação aos direitos concedidos à TeamDev de acordo com esta seção de marketing.
Você e a TeamDev podem utilizar as informações sobre a relação comercial de acordo com este Acordo para esforços de marketing independentes ou conjuntos. Exemplos de utilizações de marketing permitidas incluem criação e utilização de estudos de caso, comunicados de imprensa, materiais de marketing impressos e online, apresentações e referências comerciais.
Serviços de Suporte
7.1. O Suporte Técnico TeamDev Padrão(“Suporte Padrão”) inclui:
i. responder a questões relacionadas com a funcionalidade do Software; ii. capacidade para utilizar o endereço de correio eletrônico de suporte designado; iii. 1 dia útil de tempo de resposta.
7.2. A TeamDev concorda em fornecer-lhe um Suporte Padrão gratuito durante o período de Avaliação válido, como definido pela seção 3 “Concessão da Licença de Avaliação.”
7.3. TeamDev concorda em fornecer-lhe gratuitamente o Suporte Padrão em uma quantidade de horas definidas na secção 7.4. de este Acordo, válido por um ano desde a data de a licença compra.
7.4. O número de horas de Suporte Padrão é definido pelo tipo de Licença de Desenvolvimento, descrito em secção 4. de este Acordo, em por produto. Estas informações estão disponíveis nas páginas de produtos de software no Website oficial da TeamDev (teamdev.com). O número de horas designado para cada produto é sujeito a alterações sem aviso prévio da TeamDev. No caso de tal mudança, qualquer número de horas já concedido a você de acordo com uma compra de licença permanecerá válido para você.
7.5. A extensão ou renovação do Suporte Padrão está sujeita a uma taxa adicional para TeamDev.
7.6. Durante o Suporte Padrão, a TeamDev pode fornecer-lhe código de software suplementar ou materiais relacionados, que são disponibilizados na forma de atualizações de Software (incluindo hotfixes). Esse código de software suplementar ou materiais relacionados devem ser considerados parte do Software e estão sujeitos aos termos e condições deste Acordo.
7.7. No que diz respeito a qualquer informação técnica que forneça à TeamDev de forma a permitir que a TeamDev complete os seus pedidos de Suporte Padrão, a TeamDev pode utilizar essas informações para os seus fins comerciais sem restrição, incluindo para suporte do produto e desenvolvimento. A TeamDev não irá utilizar essa informação técnica em uma forma que o identifique pessoalmente.
Condições de Pagamento
Todas as taxas de licença a pagar sob o presente Acordo não são reembolsáveis, exceto, conforme especificado na secção 9.3. e não incluem quaisquer impostos aplicáveis. Além de outras quantias pagáveis sob este Acordo, você deverá pagar todos e quaisquer impostos federais, estatais, municipais ou outros impostos, deveres, taxas ou retenções atualmente ou subsequentemente impostas em a sua utilização do Software ou o pagamento de taxas de licença a TeamDev. Se a TeamDev for obrigada a pagar qualquer imposto, dever, taxa ou encargo, ou a reter qualquer montante de dinheiros devidos a TeamDev de você de acordo com este Acordo, você deverá prontamente reembolsar a TeamDev quaisquer desses montantes.
Indenização de Patentes e Direitos de Autor
9.1. A TeamDev irá defendê-lo e indemnizá-lo por todos os custos (incluindo honorários advocatícios razoáveis) decorrentes de uma reivindicação de que o Software fornecido e utilizado no âmbito deste Acordo infringe uma lei dos E.U.A. ou direitos de autor ou patentes canadianos desde que: (i) notificará a TeamDev por escrito no prazo de 30 dias de calendário da reivindicação; (ii) a TeamDev tem o controlo exclusivo da defesa e de todas as negociações de acordo relacionadas, e (iii) fornecerá à TeamDev a assistência, informação e autoridade necessárias para realizar o acima mencionado.
9.2. A TeamDev não terá qualquer responsabilidade por qualquer reclamação de infração baseada em: (i) código contido no Software que não foi criado pela TeamDev; (ii) utilização de uma versão substituída ou alterada do Software, exceto para tal alteração(ões) ou modificação(ões) que tenham sido feitas pela TeamDev ou sob a direção da TeamDev, se tal infração tivesse sido evitada pela utilização de uma versão atual, versão atual e inalterada do Software que a TeamDev lhe fornece, ou (iii) a combinação, operação ou utilização do Software fornecido ao abrigo deste Acordo com programas ou dados não fornecidos pela TeamDev, se tal infração tivesse sido evitada pela utilização do Software sem tais programas ou dados.
9.3. Em o evento o Software é detido ou acreditado por TeamDev para infringir quaisquer direitos de terceiros, ou o seu uso de o Software é ordenado, a TeamDev terá a opção, a sua despesa, para: (i) modificar o Software para fazer com que o se torne não-infringente; (ii) obter para si uma licença para continuar a utilizar o Software ; (iii) substituir o Software por outro Software razoavelmente adequado para o utilizador, ou ( iv) se nenhuma das soluções anteriores for comercialmente viável, rescindir a licença para o Software infrator e reembolsar a) as taxas de licença pagas pelo Software, rateadas por um período de um ano a partir da data de compra da licença se qualquer infração ocorrer durante o primeiro ano de Suporte Padrão; b) taxas de renovação pagas para qualquer ano subsequente de Suporte Padrão, rateadas por um período de um ano a partir da data de vencimento do pagamento para tal ano subsequente.
9.4. Indenização do Licenciado. Você é responsável e irá indenizar e manter a TeamDev inofensiva por todas e quaisquer perdas, responsabilidade ou danos decorrentes fora de, ou incorridos em conexão com, o seu uso ou reprodução do Software de acordo com este Acordo.
Isenção de Responsabilidade da Garantia
O SOFTWARE E QUALQUER DOCUMENTAÇÃO RELACIONADA SÃO FORNECIDOS
NUMA BASE ESTRITAMENTE “COMO ESTÁ” SEM GARANTIA DE QUALQUER TIPO, QUER
EXPRESSA OU IMPLÍCITA, INCLUINDO, SEM LIMITAÇÃO, AS GARANTIAS IMPLÍCITAS DE
COMERCIALIZAÇÃO, ADEQUAÇÃO A UM DETERMINADO FIM OU NÃO INFRACÇÃO.
TODO O RISCO DECORRENTE DA UTILIZAÇÃO OU DESEMPENHO DO SOFTWARE PERMANECE
COM O UTILIZADOR.
Componentes Open-Source
11.1. A TeamDev notifica que o Software pode conter Componentes Open-Source de terceiros. Estão disponíveis mais informações numa página de produto correspondente no site Web oficial da TeamDev (teamdev.com).
11.2. A TeamDev e o Software estão em total conformidade com quaisquer licenças de Componentes Open-Source para conceder os direitos de licença concedidos aqui.
11.3. Os termos e condições que regem a utilização de tais Componentes Open-Source estão nas Licenças de Software Open-Source dos proprietários dos direitos de autor e não no presente Acordo.
11.4. No caso de modificar o Software como permitido de acordo com a cláusula 5.1 a) A TeamDev renuncia a qualquer garantia relacionada com os componentes Open-Source, incluindo garantias contidas em 10.2. Você será responsável por quaisquer reclamações de violação de direitos de terceiros causada por modificação do Software feita por você em conformidade com a cláusula 5.1 a).
Limitação da Responsabilidade
EM NENHUMA CIRCUNSTÂNCIA A TEAMDEV OU OS SEUS FORNECEDORES SERÃO RESPONSÁVEIS POR
QUAISQUER DANOS (INCLUINDO, SEM LIMITAÇÃO, DANOS POR PERDA DE
LUCROS DE NEGÓCIOS, INTERRUPÇÃO DE NEGÓCIOS, PERDA DE INFORMAÇÃO DE NEGÓCIOS, OU
QUALQUER OUTRA PERDA PECUNIÁRIA) RESULTANTES DA UTILIZAÇÃO OU INCAPACIDADE DE UTILIZAR ESTE SOFTWARE
TEAMDEV, MESMO QUE A TEAMDEV TENHA SIDO AVISADA DA POSSIBILIDADE DE
TAIS DANOS.
Marcas registadas
Este Acordo não concede quaisquer direitos de utilização das marcas registadas ou nomes comerciais: “TeamDev”, “JxBrowser”, “Molybden”, “JExplorer”, “JNIWrapper”, “ComfyJ”, “JExcel”,“JxFileWatcher”, “JxCapture”, “DotNetBrowser”, “JxMaps”, ou quaisquer outras marcas comerciais, marcas de serviço, logótipos ou nomes comerciais pertencentes à TeamDev, exceto conforme definido em a Secção 6. “Marketing”. Você concorda em não utilizar quaisquer marcas pertencentes à TeamDev em ou como parte do nome de produtos baseados no Software.
Rescisão
Você pode rescindir o presente Acordo a qualquer momento, destruindo todas as cópias do Software. Este Acordo terminará imediatamente sem aviso prévio da TeamDev se for descoberto que você não cumpre qualquer disposição deste Acordo. Após esse término, você deve destruir todas as cópias do Software. Secção 10. “Exoneração de garantia” e secção 12. “Limitação de responsabilidade” permanecerá em vigor após o termo do presente Acordo.
Perguntas mais frequentes
Questões técnicas
Que plataformas são suportadas pelo JNIWrapper?
O JNIWrapper suporta diferentes sistemas operacionais e arquiteturas:
Windows XP, Windows 2000, Windows Vista, Windows 7, Windows 8 para as arquiteturas x86 e x86_64;
Linux para as arquiteturas x86, x86_64, PPC e PPC64;
macOS com PCC, arquiteturas x86 e x86_64, SunOS para as arquiteturas x86, x86_64, sparc e sparc64;
AIX PCC.
Eu chamo uma função com o número correto de parâmetros, mas continuo a receber uma exceção sobre tipos de parâmetros incorretos.
Certifique-se de que você definiu a convenção de chamada de função correta. As predefinições são: stdcall para Windows, uma vez que é utilizada pela maior parte da API do Windows, e cdecl para Linux - é utilizada por quase todas as bibliotecas.
Gostaria de invocar uma função a partir de uma DLL que gerei com o C# utilizando o JNIWrapper. É possível?
O JNIWrapper não foi concebido para integração com bibliotecas .NET que foram criadas utilizando C# ou qualquer outra linguagem de programação .NET. Na verdade, essas bibliotecas têm uma arquitetura completamente diferente das bibliotecas Win DLL normais. No entanto, é possível integrar uma biblioteca .NET se esta fornecer o nível COM Interop. Neste caso, pode utilizar o nosso produto ComfyJ para isso.
É possível fazer a integração com uma biblioteca C++ utilizando o JNIWrapper?
Tecnicamente, é possível invocar as funções dessa biblioteca utilizando o JNIWrapper, mas isso não lhe dará a capacidade de trabalhar com objetos C++ e os seus métodos. Existem duas soluções possíveis. A primeira consiste em criar as funções de wrapper em C simples para as funções C++ necessárias dessa biblioteca. A segunda é ativar a interoperabilidade COM nessa biblioteca C++ e, em seguida, usar nosso produto ComfyJ para integração com ela.
Como posso redistribuir a biblioteca JNIWrapper nativa (jniwrap.dll, jniwrap64.dll, etc.) com a minha aplicação?
A forma mais simples é empacotar todos os ficheiros de biblioteca necessários (incluindo as bibliotecas JNIWrapper) na pasta raiz de um arquivo JAR da aplicação.
Onde devo colocar o meu arquivo de licença do JNIWrapper (jniwrap.lic)?
A forma mais simples é empacotar esse arquivo na subpasta \META-INF\ de um arquivo JAR da aplicação.
Existe alguma forma de criar um wrapper Java para um determinado tipo nativo tendo apenas a sua definição em C?
Sim, você pode utilizar a aplicação utilitária Codegen for JNIWrapper para gerar o wrapper Java correspondente.
O nosso licenciamento é baseado nas versões do JNIWrapper. Ao adquirir a licença do nosso produto, você obtém o direito de utilizar a versão principal atual do produto.
Posso receber uma atualização gratuita?
As atualizações de versões principais e secundárias emitidas durante o período ativo da inscrição do Suporte Padrão são gratuitas. Após a expiração da inscrição do Suporte Padrão, pode renová-la com um desconto de 25% sobre o preço atual da licença.
Há 6 pessoas na nossa equipa e 2 delas precisam utilizar o JNIWrapper. Quantas licenças precisamos de comprar?
Só precisa de comprar 2 licenças. Licenciamos a nossa biblioteca de acordo com o número de pessoas que escrevem código utilizando a nossa biblioteca.
Se retirarmos um programador, que trabalha com o JNIWrapper, do projeto, podemos reatribuir a licença a outro programador?
Isso é possível com a licença por desenvolvedor.
Quantas cópias do meu produto posso distribuir com o JNIWrapper incluído?
Você pode distribuir um número ilimitado de cópias do seu produto com a nossa biblioteca incluída.
Temos 5 pessoas que trabalham com o JNIWrapper num produto.
Poderá querer adquirir uma Licença de Projeto, que é rentável no caso de haver 3 ou mais programadores na equipe. A Licença de Projeto está vinculada a um único projeto que realiza, mas permite que qualquer número de programadores da sua empresa trabalhe com a nossa biblioteca.
Como é que uma Licença de Projeto está associada ao meu projeto?
A Licença de Projeto é vinculada ao seu projeto através de um nome de classe totalmente qualificado. Um nome totalmente qualificado para uma classe é o nome do pacote seguido pelo nome da classe, separados por um ponto (.). Por exemplo: com.mycompany.myproduct.MyClass
Que classe pode ser utilizada para vincular a licença?
Esta pode ser qualquer classe da sua aplicação. O único requisito é que seja incluída no caminho de classes da sua aplicação Java.
Qual é a definição de “projeto” nos termos da Licença de Projeto?
Quando dizemos “projeto”, estamos pensando num produto da sua empresa, incluindo as suas futuras versões do produto ou potenciais trabalhos derivados baseados no seu produto.
Poderemos utilizar a Licença de Projeto noutro projeto que façamos?
A Licença de Projeto está associada apenas a um projeto.
Gostaríamos de obter uma licença para vários projetos para uma equipe de programadores. Qual é a sua oferta?
A melhor solução seria comprar a Licença para toda a empresa, que cobre qualquer número de programadores e projetos de uma empresa.
Como posso encontrar o arquivo de licença?
Após a compra da licença, receberá uma pasta com dois tipos de arquivo de licença: desenvolvimento e runtime. A licença de desenvolvimento destina-se a ser utilizada no processo de desenvolvimento. A licença runtime deve ser utilizada para a distribuição do seu software com o JNIWrapper incluído.
Teste gratuito de 30‑dias
Enviaremos por correio eletrônico a sua chave de avaliação e um guia de início rápido.
Enviando…
Desculpe, o envio foi interrompido
Tente novamente. Se o problema persistir, contate-nos através do endereçoinfo@teamdev.com.
Inicie o seu teste gratuito em alguns passos simples
1
Verificar o seu correio eletrônico
Os links para baixar a sua licença de avaliação e o arquivo de distribuição chegarão à sua caixa de correio eletrônico dentro de alguns minutos.
Se a mensagem se perder na sua caixa de correio, tente procurar um e-mail do JNIWrapper Evaluation Support com o assunto “Seu Período Gratuito de Testes de 30 Dias”.
2
Instalar a licença
Para começar a utilizar o JNIWrapper
baixe a sua licença de avaliação,
instale o arquivo JAR da biblioteca e a licença utilizando as instruções.
3
Começar a trabalhar
Consulte o tutorial para pôr o JNIWrapper a funcionar num instante.
Consulte os exemplos prontos para obter instruções e ideias sobre o que pode fazer com o seu recém-adquirido JNIWrapper.
teamdev.comutiliza cookies para ajudar a operar o site e recolher dados analíticos. Você ode ler mais sobre este assunto na nossa Declaração de privacidade.