Size: a a a

2020 August 08

s

std::slavik in supapro.cxx
ну я согласен что навыерное опасненько все-таки так писать(честно говоря первый раз решил такой кодстайл использовать, проект небольшой - по рукам некому давать)
источник

s

std::slavik in supapro.cxx
но это все же не UB
источник

DP

Denis Paukaev in supapro.cxx
std::slavik
но это все же не UB
Это путь граблей, и не понятно зачем его выбирать
источник

s

std::slavik in supapro.cxx
это потенциально может привести к переопределению макроса о чем будет ворнинг кинут
источник

DP

Denis Paukaev in supapro.cxx
Профита 0
источник

s

std::slavik in supapro.cxx
которые я читаю
источник

s

std::slavik in supapro.cxx
Denis Paukaev
Профита 0
профит в том что мне меньше правил нейминга разных приходится держать)
источник

VS

Vlad Serebrennikov in supapro.cxx
std::slavik
ну так реализация подразумевает все что нужно для выполнения программы
«реализация» это реализация стандарта С++, то есть компилятор или стандартная библиотека
источник

VS

Vlad Serebrennikov in supapro.cxx
определения функций и тому подобные вещи эти definition
источник

s

std::slavik in supapro.cxx
Vlad Serebrennikov
«реализация» это реализация стандарта С++, то есть компилятор или стандартная библиотека
компилятору можно дефайны передавать?
источник

VS

Vlad Serebrennikov in supapro.cxx
прагмы разве что
источник

VS

Vlad Serebrennikov in supapro.cxx
они все implementation-defined
источник

DP

Denis Paukaev in supapro.cxx
Я думаю тебе уже все озвучили, хочешь идти по пути говнокода, ок
источник

s

std::slavik in supapro.cxx
 "ARMC6": {
   "common": [
     "-c",
     "-Wall",
     "--target=arm-arm-none-eabi",
     "-mthumb",
     "-O3",
     "-Wno-armcc-pragma-push-pop",
     "-Wno-armcc-pragma-anon-unions",
     "-Wno-reserved-user-defined-literal",
     "-Wno-deprecated-register",
     "-DMULADDC_CANNOT_USE_R7",
     "-fdata-sections",
     "-mfloat-abi=hard",
     "-fno-exceptions",
     "-MMD",
     "-D_LIBCPP_EXTERN_TEMPLATE(...)=",
     "-fshort-enums",
     "-fshort-wchar",
     "-DNDEBUG",
     "-DOPUS_ARM_ASM",
     "-DHAVE_CONFIG_H",
     "-DMBED_CONF_MBED_TRACE_FEA_IPV6=0",
     "-DMBED_CONF_RTOS_PRESENT"
   ],
   "asm": [],
   "c": ["-D__ASSERT_MSG", "-std=gnu11"],
   "cxx": ["-fno-rtti", "-std=gnu++11"],
   "ld": ["--show_full_path", "--any_contingency", "--keep=os_cb_sections"]
 },
 "ARM": {
   "common": [
     "-c",
     "--gnu",
     "-Ospace",
     "--split_sections",
     "--apcs=interwork",
     "--brief_diagnostics",
     "--restrict",
     "--multibyte_chars",
     "-O3",
     "-DNDEBUG"
   ],
   "asm": [],
   "c": ["--md", "--no_depend_system_headers", "--c99", "-D__ASSERT_MSG"],
   "cxx": ["--cpp11", "--no_rtti", "--no_vla"],
   "ld": ["--show_full_path", "--any_contingency", "--keep=os_cb_sections"]
 },
источник

s

std::slavik in supapro.cxx
std::slavik
 "ARMC6": {
   "common": [
     "-c",
     "-Wall",
     "--target=arm-arm-none-eabi",
     "-mthumb",
     "-O3",
     "-Wno-armcc-pragma-push-pop",
     "-Wno-armcc-pragma-anon-unions",
     "-Wno-reserved-user-defined-literal",
     "-Wno-deprecated-register",
     "-DMULADDC_CANNOT_USE_R7",
     "-fdata-sections",
     "-mfloat-abi=hard",
     "-fno-exceptions",
     "-MMD",
     "-D_LIBCPP_EXTERN_TEMPLATE(...)=",
     "-fshort-enums",
     "-fshort-wchar",
     "-DNDEBUG",
     "-DOPUS_ARM_ASM",
     "-DHAVE_CONFIG_H",
     "-DMBED_CONF_MBED_TRACE_FEA_IPV6=0",
     "-DMBED_CONF_RTOS_PRESENT"
   ],
   "asm": [],
   "c": ["-D__ASSERT_MSG", "-std=gnu11"],
   "cxx": ["-fno-rtti", "-std=gnu++11"],
   "ld": ["--show_full_path", "--any_contingency", "--keep=os_cb_sections"]
 },
 "ARM": {
   "common": [
     "-c",
     "--gnu",
     "-Ospace",
     "--split_sections",
     "--apcs=interwork",
     "--brief_diagnostics",
     "--restrict",
     "--multibyte_chars",
     "-O3",
     "-DNDEBUG"
   ],
   "asm": [],
   "c": ["--md", "--no_depend_system_headers", "--c99", "-D__ASSERT_MSG"],
   "cxx": ["--cpp11", "--no_rtti", "--no_vla"],
   "ld": ["--show_full_path", "--any_contingency", "--keep=os_cb_sections"]
 },
вот я передаю дефайны в компилятор с подчеркиванием в начале
источник

s

std::slavik in supapro.cxx
и они попадают просто как дефайны
источник

VS

Vlad Serebrennikov in supapro.cxx
это дефайны для исходного кода, который компилируется
источник

VS

Vlad Serebrennikov in supapro.cxx
точнее, препроцессируется
источник

s

std::slavik in supapro.cxx
зарезервированы это означает что компилятор может предопределить их и мне не говорить об этом
источник

s

std::slavik in supapro.cxx
но если я сделаю свой дефайн - будет ворнинг
источник