INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Speicherüberlauf bei häufigen Aufruf einer dll



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

04.03.2010, 17:26
Beitrag #1

maexx Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Feb 2010

2010
2005
DE

13359
Deutschland
Speicherüberlauf bei häufigen Aufruf einer dll
Hallo,
ich verwende LV9 und habe mich mit Diffie-Hellman Schlüsselaustausch beschäftigt. Dazu habe ich erst das Ganze in LabVIEW gepackt und die langen Zahlen mit Binärarrays gerechnet. Das war sehr ineffizient. (300s pro Punktberechnung bei 224bit langen Zahlen). Da ich leider nicht viel Ahnung von C habe sind mir vorgefertigte Programme wie (Cyptopp oder OpenSSL) leider verschlossen geblieben.
Dazu habe ich selbst eine dll (Visual C++ 6) geschrieben die die langen Zahlen berechnet. Nachdem ich dann +;-;x;/, sowie y^x und die Punktinversion eingebunden hatte war ich schon bei 10s pro Punkt angekommen. Die Division wurde dan anstatt mit 8bit Arrayelementen in binär umgestellt und dann waren es nur noch 2,5s. Das ist schon brauchbar. Es ist allerding nun so, dass ich bei der Division und bei der Punktinversion Hilfsarrays (intern) brauche um zu rechnen.
Dazu verwende ich LabVIEW-Array-Handles. Als Problem hat sich nun herausgestellt das pro Slakarmultiplikation etwa 20MB Speicher belegt werden.
Dies geht dann so oft bis Windows sagt das der Speicher voll ist (ich glaube so bei 800MB). Ich habe schon einige Experimente unternommen das irgendwie hinzubekommen den Speicher nach Abschluß der Operation frei zu bekommen. Aber entweder LabVIEW stürtz ab oder die Berechnung wird falsch.
Ich hoffe bei diesem Problem kann mir von Euch jemand helfen. Denn ich weiß nicht mehr was ich am besten unternehmen kann....

Ich habe einen Teil der cpp-Datei drangehängt. Dort ist die Division drin.TD1Hdl Zahlenformat int und TD2Hdl Zahlenformat bool

Vielen DankSmile


Angehängte Datei(en)
Sonstige .txt  LZBerechnung.cpp.txt (Größe: 7,64 KB / Downloads: 312)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Nachrichten in diesem Thema
Speicherüberlauf bei häufigen Aufruf einer dll - maexx - 04.03.2010 17:26

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Problem bei Aufruf einer dll swoc 5 3.768 08.09.2022 17:01
Letzter Beitrag: Martin.Henz
  bei Aufruf einer Funktion in shell32.dll schmiert LV manchmal ab toaran_ 3 5.398 21.01.2010 20:28
Letzter Beitrag: rolfk
  Problem Aufruf einer C-DLL mit Array Pointer hcl86 4 7.238 01.05.2009 10:18
Letzter Beitrag: hcl86

Gehe zu: