1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
/***********************************************************************/
/* Copyright (C) 2005 INRIA Allan CORNET */
/***********************************************************************/
#include <Windows.h>
#include "stdio.h"
#include "../../os_specific/win_mem_alloc.h" /* MALLOC */
/***********************************************************************/
typedef int (*MYPROC) (int , char **);
/***********************************************************************/
int main (int argc, char **argv)
{
#define MAXCMDTOKENS 128
HINSTANCE hinstLib;
MYPROC Console_Main;
BOOL fFreeResult, fRunTimeLinkSuccess = FALSE;
int argcbis=-1;
LPSTR argvbis[MAXCMDTOKENS];
int i=0;
int FindNW=0;
for (i=0;i<argc;i++)
{
if ( (strcmp(argv[i],"-nw")==0) || (strcmp(argv[i],"-NW")==0) ) FindNW=1;
if ( (strcmp(argv[i],"-nwni")==0) || (strcmp(argv[i],"-NWNI")==0) ) FindNW=1;
}
if (FindNW==0)
{
char *nwparam=NULL;
nwparam=(char*)MALLOC((strlen("-nw")+1)*sizeof(char));
strcpy(nwparam,"-nw");
for (i=0;i<argc;i++)
{
argvbis[i]=argv[i];
}
argvbis[argc]=nwparam;
argcbis=argc+1;
}
else
{
for (i=0;i<argc;i++)
{
argvbis[i]=argv[i];
}
argcbis=argc;
}
hinstLib = LoadLibrary(TEXT("Libscilab"));
if (hinstLib != NULL)
{
Console_Main = (MYPROC) GetProcAddress(hinstLib, TEXT("Console_Main"));
if (NULL != Console_Main)
{
fRunTimeLinkSuccess = TRUE;
(Console_Main)(argcbis,argvbis);
}
fFreeResult = FreeLibrary(hinstLib);
}
if (! fRunTimeLinkSuccess)
{
MessageBox(NULL,"scilex.exe : Libscilab.dll not found !","Warning",MB_ICONERROR);
exit(1);
}
else exit(0);
return 0;
}
/***********************************************************************/
|