Qual è il modo migliore per chiamare il codice c # nel codice c su linux

Sto facendo un progetto e ho una libreria C # ma ho bisogno di chiamarlo in codice C su Linux. Qual è il modo più efficiente per farlo? Le prestazioni sono la prima considerazione.

Ovviamente, posso creare un servizio in C # e usare TCP per parlare. Ma mi chiedo se sia il modo migliore …

Grazie!

Penso che la soluzione più comune sia quella di fare in modo che il tuo servizio C # esporti un’API remota “servizi web”, a cui il codice C possa accedere tramite i pacchetti di servizi Web standard di Linux. In effetti supportano una forma di RPC, ma con pagine web che codificano la richiesta e anche la risposta. Il vantaggio dell’utilizzo dei servizi Web è la generalità; la tua soluzione sarà disponibile su qualsiasi piattaforma e funzionerà da qualsiasi lingua, non solo da C.

Un altro modo per andare è usare uno dei nuovi pacchetti open-source di Google, Facebook, Twitter, ecc. Un sacco di venditori di cloud stanno aprendo le proprie infrastrutture RPC perché molti clienti pongono la domanda esatta e hanno bisogno di queste soluzioni. Questi saranno sicuramente più veloci e potenti anche in altri modi: includono potenti strumenti di visualizzazione delle prestazioni e debugger di vario tipo. Microsoft ha anche una tecnologia di chiamata a metodi remota. Quindi queste sono un’opzione, forse meno generale ma sicuramente più veloce. Quindi devi chiedere quanto sia importante la velocità, per questo particolare percorso …

La linea di fondo quindi è che ci sono forse cinque pacchetti che potresti usare. Nessuna idea che sia vincente o migliore!