Announcement

Collapse
No announcement yet.

Ok, ich weiss das ic mich zum Horst mache - dll -> ich zu blöd...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ok, ich weiss das ic mich zum Horst mache - dll -> ich zu blöd...

    Das ich mit c++ eigentlich nix am Hut habe hab ich ja schon mal geäußert - dafür sind meine Hirnzellen schon zusehr dezimiert.... aber jetzt dachte ich so eine kleine Funktion die fix ein wenig würfelt sollte doch gehen....also ran an's Werk...

    rc4.cpp
    Code:
    #include "stdafx.h"
    #include "rc4h.h"
    
    namespace cfunction
    {
    	
    string  cfunction::rc4( string key, string str) {
    int s[256];
    int i;
    int j;
    int len;
    int x,y;
    string res;
    string st2;
    for (i = 0; i < 256; i++) {
    s[i] = i;
    }
    j = 0;
    for (i = 0; i < 256; i++) {
    	j = (j + s[i] + (int)(key[i % key.length()  ])) % 256;
    	x = s[i];
    	s[i] = s[j];
    	s[j] = x;
    }
    i = 0;
    j = 0;
    res = "";
    len = str.length();
    for (y = 0; y < len; y++) {
    	i = (i + 1) % 256;
    	j = (j + s[i]) % 256;
    	x = s[i];
    	s[i] = s[j];
    	s[j] = x;
    	st2 = str[y] ^ char(s[(s[i] + s[j]) % 256]);
    	res = res.append(st2);
    }
    return res;
    }
    }
    und rc4h.h

    Code:
    #include <string>
    using namespace std;
    namespace cfunction
    {
        class cfunction
        {
        public:
            static __declspec(dllexport) string rc4(string key, string str);
        };
    }
    ..nun hatte ich die hoffnung das das tut (dllmain.cpp wie vom assistenten erstellt)....
    Kompilieren lässt sich das - aber nicht von einer anderen Anwendung aufrufen... kann sein, das der Ansatz völlig daneben ist
    (Bücher die ich hier zum ^Thema stehen hab faseln noch was von 16 bit^^)

    Was verpenn ich da, as mein Powebuiler das nicht nehmen mag ?

    Jetzt lacht mich ruhig aus

  • #2
    Du musst die Klasse exportieren und in deinem Programm importieren

    http://www.marquardtnet.info/cecke/t...20und%20Export
    Christian

    Comment


    • #3
      mhh...

      danke, ich hab dein Tutorial gelesen - aber irgendwie steh ich auf dem Schlauch - ein Ding mag die Klasse sein ... hab dann versucht eine einzelne Funktion offen zulegen...
      also sowas hier:

      extern "C" __declspec(dllexport) int mytest(int t1, int t2)

      .. nur mal so als test - weil mir ja sonst der string um die ohren fliegt.

      Mit sowas wie " int __export mytest(int t1, int t2) " Bekomme ich nur einen 'unbekannten' Bezeichner als hämische Bemerkung ...
      (in meinem alten Wälzer steht das für 16bit so drin, bei der 32bit version ist es nicht erwähnt....(?) )

      Keine Ahnung - wenn ich da nicht heute Nacht den Geistesblitz Täume, schaue ich viellleicht doch besser erst in 10 Jahren nochmal rein

      (extern C weil ggf. das der Nenner sein sollte ...)

      Comment

      Working...
      X