История изменений
Исправление 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
. Ещё и покомпактней рантайм бы вышел, с такой-то информацией у компилятора.