Mercurial > hg > Game > Cerium
diff example/basic/main.cc @ 256:2c775d229cc6 draft
fix examples
author | tkaito@localhost.localdomain |
---|---|
date | Wed, 03 Jun 2009 16:14:06 +0900 |
parents | 028ffc9c0375 |
children | da8edd0735f2 cfd20d609ace |
line wrap: on
line diff
--- a/example/basic/main.cc Wed Jun 03 15:46:07 2009 +0900 +++ b/example/basic/main.cc Wed Jun 03 16:14:06 2009 +0900 @@ -6,15 +6,16 @@ extern void task_init(void); -static int *data; static int length = DATA_NUM; +static int task = 1; -char *help_str = "Usage: ./twice [-length data_length]\n \ - -length Number of data (default DATA_NUM (Func.h))"; +const char *usr_help_str = "Usage: ./twice [-length data_length] [-count task_num]\n\ + -length Number of data (default DATA_NUM (Func.h))\n\ + -count Number of task (default 1)\n"; void -print_data(int *data, int size, char *title) +print_data(int *data, int size, const char *title) { printf("%s ---\n", title); for (int i = 0; i < size; i++) { @@ -29,6 +30,7 @@ void twice_result(void *a) { + int* data = (int*)a; print_data(data, length, "after"); free(data); } @@ -39,10 +41,8 @@ for (int i = 1; argv[i]; ++i) { if (strcmp(argv[i], "-length") == 0) { length = atoi(argv[++i]); - } - if (strcmp(argv[i], "--help") == 0) { - printf("%s\n", help_str); - return -1; + } else if (strcmp(argv[i], "-count") == 0) { + task = atoi(argv[++i]); } } @@ -54,7 +54,7 @@ { HTask *twice; - data = (int*)manager->malloc(sizeof(int)*length); + int *data = (int*)manager->allocate(sizeof(int)*length); for (int i = 0; i < length; i++) { data[i] = i; @@ -87,14 +87,14 @@ */ twice->add_param(length); - twice->set_post(twice_result, NULL); + twice->set_post(twice_result, (void*)data); // add Active Queue twice->spawn(); } int -cerium_main(int argc, char *argv[]) +TMmain(int argc, char *argv[]) { if (init(argc, argv) < 0) { return -1; @@ -104,7 +104,9 @@ // ppe/task_init.cc task_init(); - twice_init(); + for (int i = 0; i < task; ++i) { + twice_init(); + } return 0; }