int main(int argc, char** argv) { int rc = 0; char pname[MAX_PROCESSNAME_SIZE] = {0}; int num_loops = 0; int num_processes = 0; int num_threads = 0; rc = prctl(PR_GET_NAME, (unsigned long)(pname), 0, 0, 0); assert(rc == 0); if (argc < 4) { num_loops = 10; num_processes = 1; num_threads = 2; } else { num_loops = atoi(argv[3]); num_processes = atoi(argv[1]); num_threads = atoi(argv[2]); if (num_threads > MAX_THREADS) { fprintf(stderr, "The maximum number of threads (%d)" " exceeded. Please provide a lower value\n", MAX_THREADS); return 2; } } runall(pname, num_processes, num_threads, num_loops); return 0; }
int main(int argc, char* argv[]) { if (argc == 1) { std::cerr << "Usage: euler all OR euler n n n\n"; return 1; } if (argc == 2 && strcmp(argv[1], "all") == 0) { runall(); return 0; } // Otherwise, make a mapping, and run them individually. std::map<int, euler::Problem> pmap; for (auto prob : euler::problems) { pmap[prob.number] = prob; } for (auto arg = argv + 1; *arg != nullptr; ++arg) { const int num = std::stoi(*arg); auto prob = pmap.find(num); if (prob == pmap.end()) { std::cout << "Unknown problem: " << num << '\n'; } else { runone(prob->second); } } return 0; }
int main( int argc, char *argv[] ) { char *ARGV[ARGC_MAX]; int i = 0; int ARGC = 0; int ret = EXIT_SUCCESS; if ( argc == 1 ) // HADOOP { ARGV[0] = getenv("mapred_job_arg0"); // # of args, i.e., argc ARGV[1] = getenv("mapred_job_arg1"); // e.g. -l ARGV[2] = getenv("mapred_job_arg2"); // e.g. -l ARGV[3] = getenv("mapred_job_arg3"); // e.g. 50 ARGV[4] = getenv("mapred_job_arg4"); // e.g. -e ARGV[5] = getenv("mapred_job_arg5"); // e.g. 0.02 ARGV[6] = getenv("mapred_job_arg6"); // e.g. -q ARGV[7] = getenv("mapred_job_arg7"); // e.g. A ARGV[8] = getenv("mapred_job_arg8"); // e.g. -r ARGV[9] = getenv("mapred_job_arg9"); // e.g. 200 ARGV[10] = getenv("mapred_job_arg10"); // e.g. -t ARGV[11] = getenv("mapred_job_arg11"); // e.g. 20 ARGV[12] = getenv("mapred_job_arg12"); // e.g. -f ARGV[13] = getenv("mapred_job_arg13"); // e.g. ref.fa ARGV[14] = getenv("mapred_job_arg14"); // e.g. ref.fa ARGV[15] = getenv("mapred_job_arg15"); // e.g. ref.fa ARGV[16] = getenv("mapred_job_arg16"); // e.g. ref.fa ARGV[17] = getenv("mapred_job_arg17"); // e.g. ref.fa ARGV[18] = getenv("mapred_job_arg18"); // e.g. ref.fa ARGV[19] = getenv("mapred_job_arg19"); // e.g. ref.fa ARGV[20] = getenv("mapred_job_arg20"); // e.g. ref.fa ARGV[21] = getenv("mapred_job_arg21"); // e.g. ref.fa ARGV[22] = getenv("mapred_job_arg22"); // e.g. ref.fa ARGV[23] = getenv("mapred_job_arg23"); // e.g. ref.fa fprintf( stderr, "=============================================\n"); fprintf( stderr, "[HADOOP] # of args : %s\n", ARGV[0] ); fprintf( stderr, "[HADOOP] command : %s\n", ARGV[1] ); ARGC = atoi( ARGV[0] ); for ( i = 0; i < ARGC; i++ ) { fprintf( stderr, "%d. %s\n", i , ARGV[i] ); } fprintf( stderr, "=============================================\n"); // For hadoop, only "runall" is allowed if( strcmp( ARGV[1], "runall") == 0 ) ret = runall( ARGC-1, ARGV+1 ); else if( strcmp( ARGV[1], "genfa") == 0 ) genfa( ARGC-1, ARGV+1 ); else if( strcmp( ARGV[1], "genfqse") == 0 ) genfq( ARGC-1, ARGV+1 ); else if( strcmp( ARGV[1], "genfqpe") == 0 ) genfq( ARGC-1, ARGV+1 ); else if( strcmp( ARGV[1], "extract") == 0 ) extractor( ARGC-1, ARGV+1 ); else if( strcmp( ARGV[1], "tech") == 0 ) runall_by_tech( ARGC-1, ARGV+1 ); else usage(); } else if( argc == 2 ) { if ( strcmp( "-h", argv[1] ) == 0) usage(); else if ( strcmp( "-v", argv[1] ) == 0) fprintf( stderr, "%d.%d.%d\n", \ VERSION_MAJOR, VERSION_MINOR, VERSION_BUILD ); } else { fprintf( stderr, "=============================================\n"); fprintf( stderr, "[LOCAL] # of args : %d\n", argc ); fprintf( stderr, "[LOCAL] command : %s\n", argv[0] ); for ( i = 1; i < argc; i++ ) { fprintf( stderr, "%d. %s\n", i, argv[i] ); } fprintf( stderr, "=============================================\n"); if( strcmp( argv[1], "runall") == 0 ) runall( argc-1, argv+1 ); else if( strcmp( argv[1], "genfa") == 0 ) genfa( argc-1, argv+1 ); else if( strcmp( argv[1], "genfqse") == 0 ) genfq( argc-1, argv+1 ); else if( strcmp( argv[1], "genfqpe") == 0 ) genfq( argc-1, argv+1 ); else if( strcmp( argv[1], "extract") == 0 ) extractor( argc-1, argv+1 ); else if( strcmp( argv[1], "tech") == 0 ) runall_by_tech( argc-1, argv+1 ); else usage(); } return ret; //EXIT_SUCCESS; // must return 0(=EXIT_SUCCESS) // non-zero means errors, EXIT_FAILURE }