Agora vou tentar agregar alguma coisa com os códigos e alguns comentários. Os slides da apresentação novamente, caso você não queira mudar de post.
Os códigos de tem foco na necessidade de um código .NET acessar funções escritas em C++, há possibilidade de fazer o processo inverso que apresentarei em um post futuro. Bem caso você não queria ler o resto do post aqui está o link para o repositório dos códigos no gitHub.
Utilizando o C++/CLI ou a técnica de PInvoke o wrapper que permite o acesso do .NET ao C++ está em uma classe gerenciada que contém uma referência de acesso (sendo um objeto ou um função exportada).
O acesso a funções síncronas não requer nenhum detalhe sofisticado na codificação, apenas atenção no tratamento dos tipos de dados como strings e structs. Já no caso de funções assíncronas com callbacks por interface ou método estático é necessário manter os ponteiros de callback vivos, ou seja, evitar que o garbage collector leve-os.
Também vou prometer para um próximo post o debugging com WinDbg nos em ambos os códigos. (Sabe como é, né? Assim me motivo a escrever mais)
Nenhum comentário:
Postar um comentário