Size: a a a

2020 August 19

 P

 ‌‌Gleb Pilipets... in supapro.cxx
Danya
А почему в рантайме, если в компайлтайме?
ну я хз, почему, но в моём случае ошибка в рантайме.
источник

АК

Александр Караев... in supapro.cxx
 ‌‌Gleb Pilipets
при попытке обращения, без декларации вне тела
зависит от попытки обращения.
если это не ODR-usage, то можно вне тела ничего не писать и обойтись без inline
источник

L

Lee Armstrong in supapro.cxx
Danya
Короче меня заебало с тобой спорить
Живи в своём мирке
Истина рождается в споре. Но если ты решил слиться, не могу тебя остановить.
источник

D

Danya in supapro.cxx
 ‌‌Gleb Pilipets
ну я хз, почему, но в моём случае ошибка в рантайме.
Да не может быть она в рантайме
источник

D

Danya in supapro.cxx
Lee Armstrong
Истина рождается в споре. Но если ты решил слиться, не могу тебя остановить.
Когда человеку как об стенку горох - проще слиться и оставить его в своём мирке
источник

D

Danya in supapro.cxx
Тема закрыта
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
Danya
Да не может быть она в рантайме
Ну я компилирую .so, а потом запускаю и получаю ошибку при запуске.
Так как .so появляется, то это не ошибка компиляции
источник

АК

Александр Караев... in supapro.cxx
 ‌‌Gleb Pilipets
struct action_id_base {
   static constexpr int no_id = 0;
};
vs
struct action_id_base {
   static const int no_id = 0;
};
If a static data member is of const integral or const enumeration type, its declaration in the class definition can specify a constant-initializer which shall be an integral constant expression (5.19)
In that case, the member can appear in integral constant expressions. The member shall still be defined in a namespace scope if it is used in the program

однако

A variable or non-overloaded function whose name appears as a potentially-evaluated expression is odr-used unless it is an object that satisfies the requirements for appearing in a constant expression (5.19) and the lvalue-to-rvalue conversion (4.1) is immediately applied.".
источник

D

Danya in supapro.cxx
 ‌‌Gleb Pilipets
Ну я компилирую .so, а потом запускаю и получаю ошибку при запуске.
Так как .so появляется, то это не ошибка компиляции
Нет, это ошибка линковки
источник

C

CodeDetector in supapro.cxx
Александр Караев
If a static data member is of const integral or const enumeration type, its declaration in the class definition can specify a constant-initializer which shall be an integral constant expression (5.19)
In that case, the member can appear in integral constant expressions. The member shall still be defined in a namespace scope if it is used in the program

однако

A variable or non-overloaded function whose name appears as a potentially-evaluated expression is odr-used unless it is an object that satisfies the requirements for appearing in a constant expression (5.19) and the lvalue-to-rvalue conversion (4.1) is immediately applied.".
Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
Danya
Нет, это ошибка линковки
Согласен.
источник

АК

Александр Караев... in supapro.cxx
 ‌‌Gleb Pilipets
Ну я компилирую .so, а потом запускаю и получаю ошибку при запуске.
Так как .so появляется, то это не ошибка компиляции
а чтобы so не ругался, можно добавить какой-то no-undefined флаг (не помню точно), чтобы на стадии компиляции ругалось на незарезолвленные референсы
источник

L

Lee Armstrong in supapro.cxx
Danya
Когда человеку как об стенку горох - проще слиться и оставить его в своём мирке
Ты мне дал ссылку, которая подверждает все что я сказал, а теперь ты скатываешься до демагогии и говоришь про мирок. Так не поступают в нормальном обществе, это признак несостоятельности твоих аргументов. Ну как знаешь. Закрыта так закрыта.
источник

АК

Александр Караев... in supapro.cxx
Danya
Нет, это ошибка линковки
ошибка динамической линковки на рантайме
источник

АК

Александр Караев... in supapro.cxx
 ‌‌Gleb Pilipets
Ну я компилирую .so, а потом запускаю и получаю ошибку при запуске.
Так как .so появляется, то это не ошибка компиляции
в общем, компилятор билдит тебе so, но считает, что этот символ будет динамически прилинкован (он не нашёл определения в твоей либе), но ты ведь его не предоставляешь где-то извне, поэтому и падает на рантайме
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
я понял, да. Спасибо
источник

АК

Александр Караев... in supapro.cxx
 ‌‌Gleb Pilipets
я понял, да. Спасибо
-Wl,--no-undefined подсунь компилятору (флаг для линкера)
источник

D

Danya in supapro.cxx
Lee Armstrong
Ты мне дал ссылку, которая подверждает все что я сказал, а теперь ты скатываешься до демагогии и говоришь про мирок. Так не поступают в нормальном обществе, это признак несостоятельности твоих аргументов. Ну как знаешь. Закрыта так закрыта.
Очень много где принято то, что СервисЛокатор это скрытие зависимостей
Конкретно: СКБ Контур - это можно увидить в их курсах, например. И в JetBrains также.
Ещё раз: то, что ты назвал DI контейнер СервисЛокатором не делает его СервисЛокатором
Я преподчитаю доверять разработчикам с опытом, чем непонятным людям в интернете
Когда ты выносишь СервисЛокатор из класса, передавая зависимости ЯВНО - это DI контейнер
источник

L

Lee Armstrong in supapro.cxx
Danya
Очень много где принято то, что СервисЛокатор это скрытие зависимостей
Конкретно: СКБ Контур - это можно увидить в их курсах, например. И в JetBrains также.
Ещё раз: то, что ты назвал DI контейнер СервисЛокатором не делает его СервисЛокатором
Я преподчитаю доверять разработчикам с опытом, чем непонятным людям в интернете
Когда ты выносишь СервисЛокатор из класса, передавая зависимости ЯВНО - это DI контейнер
Не не не, чувак, ты сам закрыл тему. свободен. Я не хочу с тобой больше общаться, ты меня раздражаешь.
источник

D

Danya in supapro.cxx
Вообще похую)
источник