Domanda

Qual è la migliore implementazione di Ribasso per C o C++?

Li ho trovati tramite Google e apprezzerei commenti su quali funzionano bene e quali no (e quali potrei aver perso):

È stato utile?

Soluzione

  1. ribasso dipende da GLib e da altri strumenti di terze parti.L'ho testato, funziona abbastanza bene.

    Vantaggi:

    • Doppia licenza GPL e MIT.
    • Utilizza internamente la grammatica formale, quindi facile da mantenere ed estendere.

    Svantaggi:

    • Dipende da GLib
    • Fornisce l'API C.
  2. Cpp-Markdown, La maggior parte del codice C++, ma è piuttosto lento e un po' gonfio.D'altra parte è abbastanza facile da capire e modificare, dipende da boost-1.35.

    Vantaggi

    • Dipende solo dal potenziamento
    • Scritto in C++, sembra meno pericoloso
    • Concesso in licenza dal MIT.

    Svantaggi

    • Lento (è ancora circa 10 volte più veloce dell'implementazione Perl, ma circa 10 volte più lento di Discount)
  3. Sconto, Questo è il codice che utilizzo per il mio blog http://art-blog.no-ip.info/cppcms/blog e Wiki http://art-blog.no-ip.info/wikipp/en/page/main.È scritto da un programmatore C hardcore ed è abbastanza difficilmente manutenibile (anche lo sviluppatore lo mantiene attivamente).

    Vantaggi

    • Estremamente veloce
    • Scritto in C puro (nessuna dipendenza di terza parte).
    • Mantenuto attivamente
    • Ha una licenza BSD permissiva a 3 clausole

    Svantaggi

    • Quasi impossibile da mantenere (anche io potrei rimuovere/aggiungere alcune caratteristiche).
    • Ha solo FILE API, quindi dovrei modificare il codice per farlo funzionare con il buffer generale.
    • Concesso in licenza con licenza BSD a 4 clausole che è incompatibile con GPL.È problematico se vuoi usarlo non come parte del tuo software protetto da GPL.

Perché li conosco così tanto?

Mi sto sviluppando CppCMS, quindi ho bisogno di un buon ribasso per il convertitore HTML.Quando ne ho scelto uno (Sconto), era l'unica soluzione.Da allora ho dovuto sostituirlo a causa di problemi di licenza.Detto questo, mi piace comunque perché è la soluzione Markdown più veloce.

PS:Se desideri un wrapper C++ per lo sconto, dai un'occhiata a http://cppcms.svn.sourceforge.net/viewvc/cppcms/cms/trunk/cxxmarkdown/, Non è l'ultima versione, ma è già ottimizzata.

MODIFICARE: Ho appena visitato il sito Discount e ho scoperto che è stata aggiunta anche un'API non FILE.Quindi ora è una vera biblioteca.

MODIFICA 2: Se trovi un'implementazione migliore o ne scrivi una tua con licenza FOSS, fammi sapere ;)

MODIFICA 3: come ha commentato Close, lo sconto aveva cambiato la licenza in 3 clausole BSD.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top