giovedì 30 novembre 2017

.Net [DllExport]

Dovendo lavorare con codice Legacy (o vintage se vogliamo...) cerco, quando posso, di riscrivere alcune funzionalità con linguaggi più moderni, o semplicemente di fare cose che non si potevano fare al tempo.
Finora, per fare un bridge tra C, Delphi, PowerBuilder e qualsiasi altro linguaggio legacy e magari un C#, ho sempre usato le interfacce COM, creando librerie in C# che esponessero l'interfaccia COM al resto del mondo.
Poi mi hanno fatto vedere che qualche santo ha trovato il modo per i linguaggi che girano su framework .Net (quindi C#, VB#, F#) di esporre funzioni come se fossero vere e proprie dll.
Il progetto si chiama DllExport e il suo uso è molto semplice: sulla funzione che si vuole esportare basta apporre l'annotazione [DllExport].
In fase di compilazione viene aggiunto uno step alla catena (per queste cose, tanto di cappello al copilatore ILASM), che fa in modo che la dll che si crea non solo rispetti la mappa degli assembly .Net, ma anche quella delle dll (vedi qui)
La dll risultante portà quindi essere vrappata come una cara, vecchia dl: ovviamente per funzionare necessiterà del Framework .Net, è ovvio.
Un solo accorgimento: la compilazione dell'assembly non può avvenire per AnyCpu, ma è obbligatorio farla per x86 o x64

Grazie al mio omonimo per la dritta, mi ha aperto un mondo.

lunedì 13 novembre 2017

Markdown to Html and Pdf

Da poco ho scoperto Markdown, un modo comodissimo di creare documenti in stile Meta-Html, ma molto più semplice da editare.
Tra l'altro, Markdown è il formato di default supportato nei sistemi di source control come GitHub (ecco cos'è quel README.md !)
Vi lascio ad uno studio approfondito sulla sintassi, che è molto facile da imparare e permette una buona composizione del testo.
Siccome mi sono appassionato a questo modo di creare la documentazione, mi sono chiesto se, una volta creati documenti in Markdown, non ci fosse un modo per trasformarli in Html e, perché no, Pdf.

Convertire i Markdown in Html e Pdf

Dal sito di Markdown viene espressamente detto che Markdown è sia una sintassi che un tool per convertire le pagine in Html. E quindi la prima conversione è "compresa nel prezzo".
Ma ci sono altri tool di conversione?
Cercando di rispondere alla domanda ho trovato questo articolo, che da una serie di tools, sia on-line che locali, che possono fare al caso.
La soluzione più completa, per convertire Markdown in HTML, Pdf e altri 1.000 formati, sembra essere Pandoc