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 

DLL und Array of Cluster



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!

25.04.2006, 11:08
Beitrag #1

hepman Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Apr 2006

7.1,8.2,8.5
2000
DE-DEUTSCH

10781
Deutschland
DLL und Array of Cluster
Nach langem probieren, habe ich es nun endlich geschafft einen Array of Cluster einzulesen und einen größeren auszugeben, leider ist der code noch sehr langsam. Vielleicht hat ja jemand eine Idee wie man den Code verbessern könnte und das häßliche Vorcodieren der DLL verhindern kann.
Grüße Hepman

#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include "extcode.h"
# include <math.h>


/* LabVIEW created typdefs */

typedef struct {
int32 dimSize;
float64 Numeric[1];
} TD3;
typedef TD3 **TD3Hdl;

typedef struct {
double fitness;
TD3Hdl Array;
} TD2;
typedef struct {
long dimSize;
TD2 arg[1];
} TD4;
typedef TD4 **TD4Hdl;



extern "C" void __declspec(dllexport) Roulette_fast(TD4Hdl input, TD4Hdl output);

BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
double Round(double Zahl, int Stellen)
{
return floor(Zahl * pow( 10, Stellen) + 0.5) * pow(10, -Stellen);
}



void __declspec(dllexport) Roulette_fast(TD4Hdl input, TD4Hdl output)
{
double Sum=0, InvSum=0;
unsigned int offset=0;
//(*output)->dimSize=100;
unsigned int size=(*input)->dimSize;
unsigned int undersize=(*((*input)->arg->Array))->dimSize;

(*((*output)->arg->Array))->dimSize=(*((*input)->arg->Array))->dimSize;

for(unsigned int i = 0; i < size ; i++)
{
Sum+=((*input)->arg[i].fitness);
InvSum+=1/((*input)->arg[i].fitness);
}

for(i = 0; i < size ; i++)
{
unsigned int run=(unsigned int)(Round((((*input)->arg[i].fitness)/Sum)*100,0));
for(unsigned int k=offset;k<(offset+run);k++)
{
(*output)->arg[k].fitness=(*input)->arg[i].fitness;

for(unsigned int m=0;m<undersize;m++)
{
(*(*output)->arg[k].Array)->Numeric[m]=(*(*input)->arg[i].Array)->Numeric[m];
}
}
offset=offset+run;
}
}


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Nachrichten in diesem Thema
DLL und Array of Cluster - hepman - 25.04.2006 11:08
DLL und Array of Cluster - Martin.Henz - 26.04.2006, 13:59
DLL und Array of Cluster - hepman - 27.04.2006, 18:00
DLL und Array of Cluster - Martin.Henz - 27.04.2006, 19:44

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Cluster der Array enthält als Ausgabe-Parameter einer dll SchwindelInside 4 6.433 07.12.2012 12:51
Letzter Beitrag: SchwindelInside
  array of cluster? THL 3 5.603 01.09.2011 12:11
Letzter Beitrag: BeFu
  Cluster und 2 Dim Array in DLL pgl_bear 4 5.092 16.03.2009 10:17
Letzter Beitrag: pgl_bear

Gehe zu: