Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
kaheu
34 / 0 / 0
Регистрация: 19.08.2013
Сообщений: 246
#1

Какие есть компиляторы c++ без изменения синтаксиса - C++

27.07.2014, 12:19. Просмотров 1335. Ответов 37
Метки нет (Все метки)

какие есть компиляторы c++ без изменения синтаксиса?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2014, 12:19     Какие есть компиляторы c++ без изменения синтаксиса
Посмотрите здесь:

Какие компиляторы (или среды) поддерживают с++ 11? - C++
У меня wxDev c++ билд 7.4. я понятия не имею какой там с++. компиляторы от default GCC до default VS2010 Пытался прописать команды типо...

Компиляторы. Какие преимущества между "кнопкой" и консолью? - C++
В наличии два компилятора: от vs и intel с оболочками и консоли. Какие преимущества между "кнопкой" и консолью?

Как узнать какие изменения произошли в 2 документах - C++
Добрый день! я не являюсь программистом и навыков у меня как токовых нет( Но очень нужна ваша помощь и надеюсь что нормально отнесетесь...

Какие независимые друг от друга изменения позволят коду отработать корректно? - C++
Какие независимые друг от друга изменения позволят коду отработать корректно: class Сountеr { public: // 1 void Count(); // 2 };...

Какие нужно делать изменения в программах, если изучаешь С++ по старым книгам - C++
Здравствуйте! Периодически сталкиваюсь с примерами, которые не работают из старых но многими рекомендуемых книг, или с разных форумов. ...

Инкапсулировать без серьезного изменения..возможно ли? - C++
#include <iostream> #include <stdio.h> #include <stdlib.h> using namespace std; class list_block { ...

Какие книги есть по Си++? - C++
Чтобы там было как создать класс-динамический массив. И желательно чтобы эти книги были в интернете:)

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,013
27.07.2014, 12:20     Какие есть компиляторы c++ без изменения синтаксиса #2
Цитата Сообщение от kaheu Посмотреть сообщение
без изменения синтаксиса?
В каком смысле?
kaheu
34 / 0 / 0
Регистрация: 19.08.2013
Сообщений: 246
27.07.2014, 12:22  [ТС]     Какие есть компиляторы c++ без изменения синтаксиса #3
Цитата Сообщение от 0x10 Посмотреть сообщение
В каком смысле?
не добавляющий новых команд
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,013
27.07.2014, 12:25     Какие есть компиляторы c++ без изменения синтаксиса #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
У компиляторов есть непереносимые на другие компиляторы расширения, это нормально. Просто не пользуйтесь ими.
Evg
Эксперт CАвтор FAQ
17547 / 5785 / 370
Регистрация: 30.03.2009
Сообщений: 15,931
Записей в блоге: 26
27.07.2014, 13:37     Какие есть компиляторы c++ без изменения синтаксиса #5
Цитата Сообщение от kaheu Посмотреть сообщение
не добавляющий новых команд
В этом смысле того, что ты хочешь, в природе скорее всего не существует. Любой промышленный компилятор содержит свои собственные расширения. Присоединяюсь к предыдущему оратору на тему того, что не нужно использовать расширения там, где они не нужны. А для этого нужно хорошо понимать стандарт языка
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
27.07.2014, 13:39     Какие есть компиляторы c++ без изменения синтаксиса #6
У многих компиляторов есть флаги, которые запрещают использовать расширения или, как минимум, оповещают об их присутсвии в коде.
Evg
Эксперт CАвтор FAQ
17547 / 5785 / 370
Регистрация: 30.03.2009
Сообщений: 15,931
Записей в блоге: 26
27.07.2014, 13:56     Какие есть компиляторы c++ без изменения синтаксиса #7
Возможно. У gcc, по крайней мере, нету никакой возможности работать на 100% без расширений
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
28.07.2014, 10:10     Какие есть компиляторы c++ без изменения синтаксиса #8
Разве -pedantic или -pedantic-errors вместе с -ansi что то могут пропустить?
Evg
Эксперт CАвтор FAQ
17547 / 5785 / 370
Регистрация: 30.03.2009
Сообщений: 15,931
Записей в блоге: 26
28.07.2014, 11:25     Какие есть компиляторы c++ без изменения синтаксиса #9
Цитата Сообщение от Toshkarik Посмотреть сообщение
Разве -pedantic или -pedantic-errors вместе с -ansi что то могут пропустить?
C
int x;
__typeof__ (x) y;
Код
$ bgcc t.c -c -pedantic -pedantic-errors -ansi
<ok>
Есть ряд неотключаемых расширений. Сделано это для того, чтобы их можно было использовать в стандартных хидерах (типа stdio.h). Т.е. для эффективной реализации в хидерах в любом случае требуются расширения, но при этом нужно обеспечить, чтобы пользовательское приложение, потребляющее эти хидера, нормально компилировалось в режимах типа -ansi. Поэтому они сделали так, что "typeof" в режиме -ansi не будет работать, а "__typeof__" - будет. Аналогичная фигня для всяких asm, restrict, inline, может ещё что-то - эти ключевые слова с двумя подчерками в начале и в конце жрутся всегда, независимо от опций типа -ansi. Возможно, помимо этой нанотехнологии, существуют и другие.

Поэтому если хочешь на gcc писать 100% переносимый код, то помимо опций придётся задействовать ещё и моск. Хз как у других компиляторов. У Sun'овского компилятора вроде бы тоже в своё время на подобные вещи наступали, но было давно, а потому на 100% не уверен, что проблема именно такая
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
28.07.2014, 11:35     Какие есть компиляторы c++ без изменения синтаксиса #10
Понял, о чем Вы. Я имел ввиду явное расширение языка, а не вспомогательные функции компилятора. В любом случае, спасибо за разъяснения.
Evg
Эксперт CАвтор FAQ
17547 / 5785 / 370
Регистрация: 30.03.2009
Сообщений: 15,931
Записей в блоге: 26
28.07.2014, 15:34     Какие есть компиляторы c++ без изменения синтаксиса #11
typeof - это именно расширение языка, а никакая не функция. Такой же оператор, как и sizeof
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
28.07.2014, 18:03     Какие есть компиляторы c++ без изменения синтаксиса #12
typeof но не __typeof__. И я не имею ввиду, что это функция в смысле языка программирования. Если эти нестандартные операторы ( начинающиеся и заканчивающиеся "__" ) используются при флагах ansi и pedantic, то человек должен понимать, что он делает. Ну, по крайней мере, я на это надеюсь. Вы же сами сказали, что они работают только потому, что используются в системных библиотеках/заголовках и являются частью их реализации.
Evg
Эксперт CАвтор FAQ
17547 / 5785 / 370
Регистрация: 30.03.2009
Сообщений: 15,931
Записей в блоге: 26
28.07.2014, 18:39     Какие есть компиляторы c++ без изменения синтаксиса #13
Цитата Сообщение от Toshkarik Посмотреть сообщение
typeof но не __typeof__
В C89 нету typeof'а. А опция -ansi она эквивалентна -std=c89. Т.е. typeof в данном случае работает как расширение языка (хоть с подчерками, хоть без них)

Цитата Сообщение от Toshkarik Посмотреть сообщение
Вы же сами сказали, что они работают только потому, что используются в системных библиотеках/заголовках и являются частью их реализации
Не "они работают, потому что используются в хидерах", а "их сделали именно такими, чтобы использовать в системных хидерах"

Цитата Сообщение от Toshkarik Посмотреть сообщение
то человек должен понимать, что он делает
Я про то и говорю, что одними опциями не получится контролировать отсутствие расширений, нужно ещё и понимать, что ты делаешь
CyberSolver
101 / 74 / 17
Регистрация: 23.07.2014
Сообщений: 686
Записей в блоге: 1
28.07.2014, 19:07     Какие есть компиляторы c++ без изменения синтаксиса #14
Цитата Сообщение от Toshkarik Посмотреть сообщение
Я имел ввиду явное расширение языка, а не вспомогательные функции компилятора
Конечно, никто не мешает написать C++++. Вот только все нормальные люди такое чудо не будут использовать. Потому что стандарт Си++ (да, наверное, и любой стандарт) явно запрещает расширять язык таким способом. Добавить всякие __FUNCNAME__, __typeof__ - можно. Поменять синтаксис - нет.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.07.2014, 19:36     Какие есть компиляторы c++ без изменения синтаксиса
Еще ссылки по теме:

Какие есть ошибки в коде? - C++
Добрый день. Сейчас было небольшое собеседование и одна из задачек была такая /* What problems do you see in this code */ class A...

Какие есть ошибки в коде - C++
#include &lt;iostream&gt; using namespace std; class A { int num1, num2; public: A(int i) :num1(i), num2(i) { } A(int i, int j) :...

Удалить дубликаты без изменения порядка следования элементов - C++
можно ли это сделать средствами stl эффективней? std::vector&lt;int&gt; vec = { 31,2, 4,4421,52,425,2,4,4,31,34,32,3,4,2,31,4421}; for(const...

Оставить без изменения последовательность, если она упорядочена - C++
Даны целые числа а1...аn, где n - целое положительное число (n&lt;=100). Оставить без изменения последовательность, если она упорядочена по...

Какие есть GUI библиотеки для c++ - C++
какие есть GUI библиотеки для c++, они вообще есть?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Evg
Эксперт CАвтор FAQ
17547 / 5785 / 370
Регистрация: 30.03.2009
Сообщений: 15,931
Записей в блоге: 26
28.07.2014, 19:36     Какие есть компиляторы c++ без изменения синтаксиса #15
Расширение языка - это более сложная вещь, чем дополнительное ключевое слово. Например, в C89 внутри лексического блока должны идти сначала описания переменных, и только потом операторы. А вот в gnu-расширении языка C89 их можно писать вперемешку (как в C++). При этом стандарт языка Си никак не может запретить gnu'шника (да и другим разработчикам) разрабатывать собственный стандарт языка
Yandex
Объявления
28.07.2014, 19:36     Какие есть компиляторы c++ без изменения синтаксиса
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru