Keresés

Aktív témák

  • Jester01

    veterán

    válasz nkrcompany #9 üzenetére

    Uh, megnéztem, ez nagyon durván template library. A kód nagy része headerekben van, elvétve akad néhány .cc fájl.

    Ilyen esetben én azt csinálom, hogy c++ nyelven írok hozzá egy kis illesztő részt ami lehetőleg minél kevesebb normál függvényből áll és elrejti a c++ részleteket. Ezután az ebből készült dll-t hívom C#-ból. Ez a módszer leginkább akkor működik, ha a gráfos rész jól elkülönül a program többi részétől. Ha a lemon funkcióit állandóan használod, akkor bajban vagy.
    Íme egy példa az általam használt hunspell könyvtár illesztéséből:

    A C++ oldalon:

    #include <hunspell.hxx>

    extern "C"
    {
    Hunspell* construct(const char* affixFile, const char* dictionaryFile)
    {
    Hunspell* Engine = new Hunspell(affixFile, dictionaryFile);

    return Engine;
    }

    A C# oldalon:

    [System.Runtime.InteropServices.DllImport("SpellWrapper.dll", EntryPoint="construct")]
    private extern static IntPtr Hunspell_Construct(string AffixFile, string DictionaryFile);

    Jester

Aktív témák