int main() { void (*greet)(); int (*printit)(const char*, ...); greetings(); printf("get: %d\n", get3()); greet = dlsym(RTLD_DEFAULT, "greetings"); // search all objects for the given symbol greet(); printit = dlsym(RTLD_DEFAULT, "printf"); // from libc printit("libc\n"); return 0; }
int main(int argc, char** argv) { char program_name[64] = "Wave Equation with C"; char messages[N_MESSAGE_LINES][256] = { " - Keys used: '0', '1', 't', 'f', 'ESC'" }; glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH | GLUT_MULTISAMPLE); glutInitWindowSize(800, 800); glutInitContextVersion(4, 2); glutInitContextProfile(GLUT_CORE_PROFILE); glutCreateWindow(program_name); greetings(program_name, messages, N_MESSAGE_LINES); initialize_glew(); initialize_renderer(); glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE, GLUT_ACTION_GLUTMAINLOOP_RETURNS); glutMainLoop(); return 0; }
int menu() { int i = 0; int set_flg = 1; int exit_flg = 0; do { CLS; greetings(); printf("\n"); printf("1. Начать новую игру\n"); printf("2. Настройки\n"); printf("...\n"); printf("0. Выйти из игры\n"); printf("\nВведите число и нажмите ENTER: "); fflush(stdin); if(!scanf("%d", &i)) i = 100; switch(i) { case 1: start_game(); break; case 2: settings(); break; case 0: exit(0); default: printf("Введите корректное число!\n"); PAUSE; break; } }while(1); return 0; }
void cProtocolParser::parse_rx_buff() { if (m_rx_buff.contains(m_sync_char)) { int index = m_rx_buff.indexOf(m_sync_char); int index2 = m_rx_buff.indexOf(m_sync_char,index+1); qDebug() << "parse_rx : primer caracter de sync :" << index; qDebug() << "parse_rx : segundo caracter de sync:" << index2; QString data = m_rx_buff;//.mid(index-1).split(m_sync_char)[1]; uint last_packet_end = 0; QStringList fields = data.split(m_separator_char); if(fields.count() > 1) { uint payload_size = fields.at(1).toInt(); qDebug() << "campos:"<< fields.count() << "payload:" << payload_size; if(fields.count() == payload_size+3) { if (checksum_is_valid(data)) { QVector<QString> args; for (uint a = 0 ; a < payload_size ; a++) { args.append(fields[a+2]); } if (fields[0] == QString(m_sync_char).append("SESSION")) { emit session(args); } else if (fields[0] == QString(m_sync_char).append("GREETINGS")) { emit greetings(args); } else if(fields[0] == QString(m_sync_char).append("CHAT")) { emit chat(args); } last_packet_end = data.indexOf(args.last()) + args.last().count(); } else { qDebug("[WTF!]cProtocolParser::parse_rx_buff-> el checksum no coincide!!"); } } int cut_point = 0; if(last_packet_end > 0) { cut_point = last_packet_end; } else if(index2>0) { cut_point = index2; } else if (index > 0 ) { cut_point = index; } qDebug() << "parse_rx : cut point:" << cut_point; m_rx_buff.remove(0,cut_point); } } }