Ver Mensaje Individual
  #6  
Antiguo 20-02-2008
Robert01 Robert01 is offline
Miembro
 
Registrado: feb 2006
Ubicación: Córdoba, Argentina
Posts: 895
Reputación: 19
Robert01 Va por buen camino
Hola

Hace mucho hice una dll a la cual le pasaba una matriz dinámica por referencia

Esta es una parte del código de la dll

Código Delphi [-]
#include 
#include 
#include 
#include "util1.h"

void __stdcall tred2( double *a_, int n, int np, double *d_, double *e_);

BOOL WINAPI DllMain( HINSTANCE hinstDLL ,DWORD dwReason ,LPVOID lpReserved )
{
   // Perform actions based on the reason for calling.
   switch( dwReason )
   {
   case DLL_PROCESS_ATTACH:
       // Initialize once for each new process.
       // Return FALSE to fail DLL load.
       break;

   case DLL_THREAD_ATTACH:
       // Do thread-specific initialization.
       break;

   case DLL_THREAD_DETACH:
       // Do thread-specific cleanup.
       break;

   case DLL_PROCESS_DETACH:
       // Perform any necessary cleanup.
       break;
   }
       return TRUE;
}

void __stdcall tred2( double *a_, int n, int np, double *d_, double *e_)
{
/* Local variables */
  double *a=(double *)a_ /* [np*np] elements  */;
  double *d=(double *)d_ /* [np] elements  */;
  double *e=(double *)e_ /* [np] elements  */;
  static double f,g,h,hh,scale;
  static int i,j,k,l;


#define aind(i1,i2) (((i2)-1)*np+(i1)-1)

        if (n > 1)
        {
          i=n;
          while(((i<2) && (i>n))||((i>=2) && (i<=n)))
          {
            l=i-1;
            h=0.0;
            scale=0.0;
            if (l > 1)
            {
             for (k=1;k<=l;k++) 
              {
                scale=scale+fabs(a[aind(i,k)]);
              }
lo que estaba tratando de hacer era calcular autovectores,e tc

Salu2
Responder Con Cita