eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPorównanie szybkości mnożenia macierzy w CPP i PASCALRe: Porównanie szybkości mnożenia macierzy w CPP i PASCAL
  • Data: 2011-02-03 18:34:53
    Temat: Re: Porównanie szybkości mnożenia macierzy w CPP i PASCAL
    Od: Fil <f...@p...onet.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2011-02-03 09:54, wloochacz pisze:
    > Banały?
    > Jak uda Ci się wyeksportować klasę z DLLa napisanego w VC++ i utworzyć
    > obiekt z tej klasy w C+++ Builder to stawiam co tam chcesz.
    > Albo zrobiłeś litrówkę, albo nie wiesz o czym piszesz.
    > Uda Ci się to zrobić bez problemu i będzie ślicznie działać, jak
    > wyeksportujesz interfejsy zgodne z COM.
    Może tak?:
    dlltest.h
    //--------------------------------------------------
    ---------------------------------------------
    #ifndef DllTestH
    #define DLLTestH

    #ifndef __DLL__
    #define DLL_EXP __declspec( dllimport )
    #else
    #define DLL_EXP __declspec( dllexport )
    #endif

    class ITest
    {
    public:
    virtual double __stdcall Foo1(double A, double B) = 0;
    virtual void __stdcall Foo2(char* A) = 0;

    virtual void __stdcall Free(void) = 0;
    };

    #endif
    //--------------------------------------------------
    ---------------------------------------------
    dll.cpp
    // dlltest.cpp : Defines the exported functions for the DLL application.

    #include "stdafx.h"
    #include "windows.h"

    #define __DLL__
    #include "dlltest.h"

    class TTest : virtual public ITest
    {
    public:
    double __stdcall Foo1(double A, double B);
    void __stdcall Foo2(char* A);

    void __stdcall Free(void);
    };

    double __stdcall TTest::Foo1(double A, double B)
    {
    return A + B;
    }

    void __stdcall TTest::Foo2(char* A)
    {
    strcpy(A, "Ala ma kota.");
    }

    void __stdcall TTest::Free(void)
    {
    delete this;
    }

    extern "C" DLL_EXP ITest* __stdcall CreateTest(void)
    {
    return new TTest();
    }
    //--------------------------------------------------
    ---------------------------------------------

    Śmiga aż miło. Być może jest tu jakiś haczyk, ale mi to działa.
    Interesuje mnie pożenienie BCB (GUI) z Visualem (obliczenia - lub
    ewentualnie w przyszłości kompilator Intela, którego na razie nie mam).
    Rozwiązania tylko pod Windows i to jak najprostsze, bez CLI itp. - tylko
    C++. Eksport klas do innych języków/kompilatorów itp. nie interesuje mnie.

    > A więc wszystko powinno być napisane jak biblioteka COM.
    > Jak np. DirectX. Albo ADO.

    Jak nie będzie powyższe się sprawdzać to spróbuję z COM. Na razie
    sprawdzało się dla App i Dlli kompilowanych jednocześnie w BCB.

    Fil.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: