У меня 1000 и 1 вопрос по GTK, но самый острый на данный момент это потоки. Читал здесь, здесь, документацию и ещё пару бложиков. Всё равно не осилил. Прошу лоровцев помочь. Вот для примера код:
#include <gtk/gtk.h>
const int BIG_NUM= 9000;
void button1_callback(GtkWidget *button1, gpointer data)
{
int i,j,k,l,m;
for(i= 0; i < BIG_NUM; ++i)
for(j= 0; j < BIG_NUM; ++j)
for(k= 0; k < BIG_NUM; ++k)
for(l= 0; l < BIG_NUM; ++l)
for(m= 0; m < BIG_NUM; ++m);
}
void button2_callback(GtkWidget *button2, gpointer data)
{
g_printf("Ouch!\n");
}
int main(int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *button1, *button2;
GtkWidget *hbox;
gtk_init(&argc, &argv);
window= gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
gtk_widget_set_size_request(GTK_WIDGET(window), 320, 240);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
hbox= gtk_hbox_new(FALSE, 0);
button1= gtk_button_new_with_label("button1");
button2= gtk_button_new_with_label("button2");
g_signal_connect(button1, "clicked", G_CALLBACK(button1_callback), NULL);
g_signal_connect(button2, "clicked", G_CALLBACK(button2_callback), NULL);
gtk_container_add(GTK_CONTAINER(window), hbox);
gtk_box_pack_start(GTK_BOX(hbox), button1, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(hbox), button2, TRUE, TRUE, 0);
gtk_widget_show_all(window);
gtk_main();
return 0;
}
На данный момент больше вопросов нет, но они обязательно будут и я их озвучу сюда, чтоб не засорять форум. Заранее спасибо.