LINUX.ORG.RU

История изменений

Исправление hobbit, (текущая версия) :

Скомпилил. Выдаёт ворнинги

T3Bu5Qy6.c:7:44: warning: anonymous struct declared inside parameter list will not be visible outside of this definition or declaration
 void metaprog_function_8484018655565672449(struct {
                                            ^~~~~~
T3Bu5Qy6.c: In function ‘main’:
T3Bu5Qy6.c:43:46: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
 } *  metaprog_junction_9059101215904737281 = gtk_window_new(metaprog_variable_8339842838198470657);
                                              ^~~~~~~~~~~~~~
T3Bu5Qy6.c:50:21: warning: passing argument 1 of ‘gtk_widget_show_all’ from incompatible pointer type [-Wincompatible-pointer-types]
 gtk_widget_show_all(metaprog_junction_9059101215904737281);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gtk/gtkapplication.h:27:0,
                 from /usr/include/gtk-3.0/gtk/gtkwindow.h:33,
                 from /usr/include/gtk-3.0/gtk/gtkdialog.h:32,
                 from /usr/include/gtk-3.0/gtk/gtkaboutdialog.h:30,
                 from /usr/include/gtk-3.0/gtk/gtk.h:31,
                 from T3Bu5Qy6.c:6:
/usr/include/gtk-3.0/gtk/gtkwidget.h:632:12: note: expected ‘GtkWidget * {aka struct _GtkWidget *}’ but argument is of type ‘struct <anonymous> *’
 void       gtk_widget_show_all            (GtkWidget           *widget);
            ^~~~~~~~~~~~~~~~~~~

На самом деле их чуть больше, но дублирующиеся я почикал. Имеет смысл с этим разобраться, по-хорошему, твой сишный кодогенератор должен генерировать код, свободный от предупреждений. Предупреждения — знак программисту, что что-то пошло не так.

GCC 6.3.0, GTK 3.22.11.

Запущенная программа выдаёт крошечное окошко с надписью «Metaprog test».

Исправление hobbit, :

Скомпилил. Выдаёт ворнинги

T3Bu5Qy6.c:7:44: warning: anonymous struct declared inside parameter list will not be visible outside of this definition or declaration
 void metaprog_function_8484018655565672449(struct {
                                            ^~~~~~
T3Bu5Qy6.c: In function ‘main’:
T3Bu5Qy6.c:43:46: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
 } *  metaprog_junction_9059101215904737281 = gtk_window_new(metaprog_variable_8339842838198470657);
                                              ^~~~~~~~~~~~~~
T3Bu5Qy6.c:50:21: warning: passing argument 1 of ‘gtk_widget_show_all’ from incompatible pointer type [-Wincompatible-pointer-types]
 gtk_widget_show_all(metaprog_junction_9059101215904737281);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gtk/gtkapplication.h:27:0,
                 from /usr/include/gtk-3.0/gtk/gtkwindow.h:33,
                 from /usr/include/gtk-3.0/gtk/gtkdialog.h:32,
                 from /usr/include/gtk-3.0/gtk/gtkaboutdialog.h:30,
                 from /usr/include/gtk-3.0/gtk/gtk.h:31,
                 from T3Bu5Qy6.c:6:
/usr/include/gtk-3.0/gtk/gtkwidget.h:632:12: note: expected ‘GtkWidget * {aka struct _GtkWidget *}’ but argument is of type ‘struct <anonymous> *’
 void       gtk_widget_show_all            (GtkWidget           *widget);
            ^~~~~~~~~~~~~~~~~~~

На самом деле их чуть больше, но дублирующиеся я почикал. Имеет смысл с этим разобраться, по-хорошему, твой сишный кодогенератор должен генерировать код, свободный от предупреждений.

GCC 6.3.0, GTK 3.22.11.

Запущенная программа выдаёт крошечное окошко с надписью «Metaprog test».

Исправление hobbit, :

Скомпилил. Выдаёт ворнинги

T3Bu5Qy6.c:7:44: warning: anonymous struct declared inside parameter list will not be visible outside of this definition or declaration
 void metaprog_function_8484018655565672449(struct {
                                            ^~~~~~
T3Bu5Qy6.c: In function ‘main’:
T3Bu5Qy6.c:43:46: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
 } *  metaprog_junction_9059101215904737281 = gtk_window_new(metaprog_variable_8339842838198470657);
                                              ^~~~~~~~~~~~~~
T3Bu5Qy6.c:50:21: warning: passing argument 1 of ‘gtk_widget_show_all’ from incompatible pointer type [-Wincompatible-pointer-types]
 gtk_widget_show_all(metaprog_junction_9059101215904737281);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gtk/gtkapplication.h:27:0,
                 from /usr/include/gtk-3.0/gtk/gtkwindow.h:33,
                 from /usr/include/gtk-3.0/gtk/gtkdialog.h:32,
                 from /usr/include/gtk-3.0/gtk/gtkaboutdialog.h:30,
                 from /usr/include/gtk-3.0/gtk/gtk.h:31,
                 from T3Bu5Qy6.c:6:
/usr/include/gtk-3.0/gtk/gtkwidget.h:632:12: note: expected ‘GtkWidget * {aka struct _GtkWidget *}’ but argument is of type ‘struct <anonymous> *’
 void       gtk_widget_show_all            (GtkWidget           *widget);
            ^~~~~~~~~~~~~~~~~~~

На самом деле их чуть больше, но дублирующиеся я почикал. Имеет смысл с этим разобраться, по-хорошему, твой сишный кодогенератор должен генерировать код, свободный от предупреждений.

GCC 6.3.0.

Запущенная программа выдаёт крошечное окошко с надписью «Metaprog test».

Исходная версия hobbit, :

Скомпилил. Выдаёт ворнинги

T3Bu5Qy6.c:7:44: warning: anonymous struct declared inside parameter list will not be visible outside of this definition or declaration
 void metaprog_function_8484018655565672449(struct {
                                            ^~~~~~
T3Bu5Qy6.c: In function ‘main’:
T3Bu5Qy6.c:43:46: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
 } *  metaprog_junction_9059101215904737281 = gtk_window_new(metaprog_variable_8339842838198470657);
                                              ^~~~~~~~~~~~~~
T3Bu5Qy6.c:50:21: warning: passing argument 1 of ‘gtk_widget_show_all’ from incompatible pointer type [-Wincompatible-pointer-types]
 gtk_widget_show_all(metaprog_junction_9059101215904737281);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gtk/gtkapplication.h:27:0,
                 from /usr/include/gtk-3.0/gtk/gtkwindow.h:33,
                 from /usr/include/gtk-3.0/gtk/gtkdialog.h:32,
                 from /usr/include/gtk-3.0/gtk/gtkaboutdialog.h:30,
                 from /usr/include/gtk-3.0/gtk/gtk.h:31,
                 from T3Bu5Qy6.c:6:
/usr/include/gtk-3.0/gtk/gtkwidget.h:632:12: note: expected ‘GtkWidget * {aka struct _GtkWidget *}’ but argument is of type ‘struct <anonymous> *’
 void       gtk_widget_show_all            (GtkWidget           *widget);
            ^~~~~~~~~~~~~~~~~~~

На самом деле их чуть больше, но дублирующиеся я почикал. Имеет смысл с этим разобраться, по-хорошему, твой кодогенератор должен генерировать код, свободный от предупреждений.

GCC 6.3.0.