LINUX.ORG.RU

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

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

Корневой конфиг nginx объявлен ЕМНИП как void****. Вот блин меня разорвало. В итоге так и не разобрался до конца, что-то методом тыка по сорцам наскрёб, чтобы заработало то, что мне нужно.

Вообще, void* это по сути банальная динамическая типизация. Нечитабельный и непроверяемый компилятором полиморфизм. Говно собачье, в общем. А другого полиморфизма в сях у меня для вас нет: его там вообще нет. (Ну разве что можно указатель на функцию в другую функцию передать. А два указателя на две функции – дык это уже ООП-интерфейс.) Вот и пердолятся убогие, и в своём убожестве поливают говном язык, где он есть. На плюсях я бы нарисовал иерархию классов, может даже без виртуальных методов – т.е. без vtable, с нулевым рантайм-оверхедом, чисто ради читабельности – и вместо void* написал бы BaseClass*. Ну и кастовал бы через static_cast. Ещё и покомпактней рантайм бы вышел, с такой-то информацией у компилятора.

Во, точняк:

struct ngx_cycle_s {
    void                  ****conf_ctx;

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

Корневой конфиг nginx объявлен ЕМНИП как void****. Вот блин меня разорвало. В итоге так и не разобрался до конца, что-то методом тыка по сорцам наскрёб, чтобы заработало то, что мне нужно.

Вообще, void* это по сути банальная динамическая типизация. Нечитабельный и непроверяемый компилятором полиморфизм. Говно собачье, в общем. А другого полиморфизма в сях у меня для вас нет: его там вообще нет. (Ну разве что можно указатель на функцию в другую функцию передать. А два указателя на две функции – дык это уже ООП-интерфейс.) Вот и пердолятся убогие, и в своём убожестве поливают говном язык, где он есть. На плюсях я бы нарисовал иерархию классов без виртуальных методов – т.е. без vtable, с нулевым рантайм-оверхедом, чисто ради читабельности – и вместо void* написал бы BaseClass*. Ну и кастовал бы через static_cast. Ещё и покомпактней рантайм бы вышел, с такой-то информацией у компилятора.

Во, точняк:

struct ngx_cycle_s {
    void                  ****conf_ctx;

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

Корневой конфиг nginx объявлен ЕМНИП как void****. Вот блин меня разорвало. В итоге так и не разобрался до конца, что-то методом тыка по сорцам наскрёб, чтобы заработало то, что мне нужно.

Вообще, void* это по сути банальная динамическая типизация. Нечитабельный и непроверяемый компилятором полиморфизм. Говно собачье, в общем. А другого полиморфизма в сях у меня для вас нет: его там вообще нет, вот и пердолятся убогие, и в своём убожестве поливают говном язык, где он есть. На плюсях я бы нарисовал иерархию классов без виртуальных методов – т.е. без vtable, с нулевым рантайм-оверхедом, чисто ради читабельности – и вместо void* написал бы BaseClass*. Ну и кастовал бы через static_cast. Ещё и покомпактней рантайм бы вышел, с такой-то информацией у компилятора.

Во, точняк:

struct ngx_cycle_s {
    void                  ****conf_ctx;

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

Корневой конфиг nginx объявлен ЕМНИП как void****. Вот блин меня разорвало. В итоге так и не разобрался до конца, что-то методом тыка по сорцам наскрёб, чтобы заработало то, что мне нужно.

Вообще, void* это по сути банальная динамическая типизация. Нечитабельный и непроверяемый компилятором полиморфизм. Говно собачье, в общем. На плюсях я бы нарисовал иерархию классов без виртуальных методов – т.е. без vtable, с нулевым рантайм-оверхедом, чисто ради читабельности – и вместо void* написал бы BaseClass*. Ну и кастовал бы через static_cast. Ещё и покомпактней рантайм бы вышел, с такой-то информацией у компилятора.

Во, точняк:

struct ngx_cycle_s {
    void                  ****conf_ctx;

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

Корневой конфиг nginx объявлен ЕМНИП как void****. Вот блин меня разорвало. В итоге так и не разобрался до конца, что-то методом тыка по сорцам наскрёб, чтобы заработало то, что мне нужно.

Вообще, void* это по сути банальная динамическая типизация. Нечитабельный и непроверяемый компилятором полиморфизм. Говно собачье, в общем. На плюсях я бы нарисовал иерархию классов без виртуальных методов – т.е. с нулевым рантайм-оверхедом, чисто ради читабельности – и вместо void* написал бы BaseClass*. Ну и кастовал бы через static_cast. Ещё и покомпактней рантайм бы вышел, с такой-то информацией у компилятора.

Во, точняк:

struct ngx_cycle_s {
    void                  ****conf_ctx;

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

Корневой конфиг nginx объявлен ЕМНИП как void****. Вот блин меня разорвало. В итоге так и не разобрался до конца, что-то методом тыка по сорцам наскрёб, чтобы заработало то, что мне нужно.

Вообще, void* это по сути банальная динамическая типизация. Нечитабельный и непроверяемый компилятором полиморфизм. Говно собачье, в общем. На плюсях я бы нарисовал иерархию классов без виртуальных методов – т.е. с нулевым рантайм-оверхедом, чисто ради читабельности – и вместо void* написал бы BaseClass*. Ну и кастовал бы через static_cast. Ещё и покомпактней рантайм бы вышел, с такой-то информацией у компилятора.