8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||
1 | ||||||
[trigraph] Как отключить? Как устранить триграф из литерной константы?21.02.2015, 18:30. Показов 2596. Ответов 5
Метки нет (Все метки)
Доброго времени суток.
Сборка Debug при помощи mingw482_32. Возникла проблема с триграфами. Вообще то, я всегда думал, что триграфы по дефолту отключены. Но у меня они почему то оказались включенными. В связи с этим два вопроса: 1. Каким волшебным ключиком компилятора деактивировать? 2. При включенных триграфах, как можно переписать литерную константу так, что бы не нарываться на них? Код:
Код
if(${CMAKE_GENERATOR} MATCHES "Unix Makefiles" OR ${CMAKE_GENERATOR} MATCHES "MinGW Makefiles") set(CMAKE_MAKE_PROGRAM "${CMAKE_MAKE_PROGRAM} -j{PROCESSOR_COUNT}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fopenmp" ) set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -std=c++11 -fopenmp -O3" ) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -std=c++11 -fopenmp -O0 -g3 -pedantic -Wall -Weffc++ -Wextra -Woverloaded-virtual -Wctor-dtor-privacy -Wnon-virtual-dtor -Wold-style-cast -Wconversion -Wsign-conversion -Winit-self -Wunreachable-code")
0
|
21.02.2015, 18:30 | |
Ответы с готовыми решениями:
5
В окне кода текст переносится как попало. Как это устранить? Можно ли в матрице M и N обозначить как переменные или только как константы? Как отключить брандмауэр или отключить фаервол Что такое триграф? |
1674 / 1046 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
21.02.2015, 19:04 | 2 |
Можно воспользоваться обычным поведением escape-последовательностей.
1
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
21.02.2015, 19:16 [ТС] | 3 |
Спасибо. Это сработало.
Остался один вопрос: как вообще их отключить? Как то не очень хочется уродовать строки из-за этой пакости. ------------- Никак не пойму, почему они вообще активированы. Неужели mingw их по дефолту включает? Потому что сам я явным образом их точно нигде не включал...
0
|
1674 / 1046 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
21.02.2015, 19:58 | 4 |
Сообщение было отмечено hoggy как решение
Решение
Из документации GCC:
1
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
21.02.2015, 20:00 [ТС] | 5 |
0
|
1674 / 1046 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
21.02.2015, 20:09 | 6 |
Сообщение было отмечено hoggy как решение
Решение
Если строгое соответствие стандарту - не самоцель, можно включить -std=gnu++14 (не подразумевающий строгого соответствия ISO, то бишь включающий гнутые расширения) и подавить предупреждения через -Wno-trigraphs
1
|
21.02.2015, 20:09 | |
21.02.2015, 20:09 | |
Помогаю со студенческими работами здесь
6
как устранить ошибку? Как устранить ошибку как устранить ошибку Как устранить ошибку? Как устранить ошибку?! BSOD как устранить? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |