一个OpenGVS程序最顶层的控制部分可简洁地表示如下: int GV_user_sys( int argc, char ** argv ) { GV_Sys_mode system_mode ; /* Only set system units BEFORE callingGV_sys_init */ G_sys_set_units( 1.0, G_SYS_UNITS_FEET ) ; /* User routine to parse the command line */ GV_user_parse_cmd( argc, argv ); /* Establish default user callbacks */ GV_sys_set_callback_init( GV_user_init ); GV_sys_set_callback_proc( GV_user_proc ); GV_sys_set_callback_shutdown( GV_user_shutdown ); /* Initialize OpenGVS */ GV_sys_init(); GV_sys_set_mode( GV_SYS_MODE_RUNTIME ); GV_sys_inq_mode( &system_mode) ; while (system_mode == GV_SYS_MODE_RUNTIME) { /* Loop here "forever" */ GV_sys_proc(); GV_sys_inq_mode( &system_mode) ; } /* Shutdown OpenGVS if not already done by user */ if (system_mode == GV_SYS_MODE_SHUTDOWN) GV_sys_shutdown(); return (G_SUCCESS); } system_mode是控制程序的标志。