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
|
//@@TODO reconcile /muscle with /muscle3.6
#include "muscle.h"
#include <stdio.h>
#ifdef WIN32
#include <windows.h> // for SetPriorityClass()
#include <io.h> // for isatty()
#else
#include <unistd.h> // for isatty()
#endif
int g_argc;
char **g_argv;
int main(int argc, char **argv)
{
#if WIN32
// Multi-tasking does not work well in CPU-bound
// console apps running under Win32.
// Reducing the process priority allows GUI apps
// to run responsively in parallel.
SetPriorityClass(GetCurrentProcess(), BELOW_NORMAL_PRIORITY_CLASS);
#endif
g_argc = argc;
g_argv = argv;
SetNewHandler();
SetStartTime();
ProcessArgVect(argc - 1, argv + 1);
SetParams();
SetLogFile();
//extern void TestSubFams(const char *);
//TestSubFams(g_pstrInFileName);
//return 0;
if (g_bVersion)
{
printf(MUSCLE_LONG_VERSION "\n");
exit(EXIT_SUCCESS);
}
if (!g_bQuiet)
Credits();
if (MissingCommand() && isatty(0))
{
Usage();
exit(EXIT_SUCCESS);
}
if (g_bCatchExceptions)
{
try
{
Run();
}
catch (...)
{
OnException();
exit(EXIT_Except);
}
}
else
Run();
exit(EXIT_Success);
}
|