C/C++
Истина там? про С++
www.stroustrup.com вот где истину искать насчёт несовместимости программ на С++ под разные компиляторы. Как думаете?
1. Язык C++ определяет набор лексических, синтаксических и семантических правил.
2. Стандарт языка C++ определяет ожидаемое поведение при выполнении этих правил для разработчиков компиляторов.
3. Библиотека стандартных шаблонов (STL) – набор согласованных обобщённых алгоритмов, контейнеров, средств доступа к их содержимому и различных вспомогательных функций в C++, написана на языке C++, имеет отдельный стандарт, который также рассчитан на разработчиков компиляторов.
4. Оба стандарта дают разработчикам компиляторов простор для творчества в плане реализации, главное чтобы выполнялись правила и ожидаемое поведение.
5. Автор C++ не является разработчиком стандартов, а всего лишь принимал и принимает при их разработке активное участие. Автор C++ не является разработчиком компиляторов к языку C++. Автор C++ не является разработчиком STL. Автор C++ обязан придерживаться утверждённых стандартов при дальнейшей разработке языка.
6. Автор русского языка (C++) не несёт ответственности за учебники русского языка (C++). Автор учебника русского языка (C++) не является редактором, корректором и наборщиком своего учебника. Автор C++ не несёт ответственности за перевод на другие языки своих книг.
7. Установленные стандартами правила не гарантируют избежание проблем. Разработчики компиляторов и стандартной библиотеки не обязаны строго следовать стандартам и вправе вносить в них изменения и дополнения либо отказываться от части реализации определённых стандартом правил.
8. Кроссплатформенность кода – это личная боль и проблема разработчиков компьютерных программ. Право выбора компилятора определяется самим разработчиком либо нанимателем, либо заказчиком программного обеспечения.
9. Недовольство программиста компилятором является частной и внутренней проблемой программиста, которую он решает самостоятельно путём принятия её как данность либо расторжением договорных отношений со всеми вытекающими из данного договора последствиями.
P.S. Всё вместе можно свести для нас в единое правило: «Кушать подано...»
2. Стандарт языка C++ определяет ожидаемое поведение при выполнении этих правил для разработчиков компиляторов.
3. Библиотека стандартных шаблонов (STL) – набор согласованных обобщённых алгоритмов, контейнеров, средств доступа к их содержимому и различных вспомогательных функций в C++, написана на языке C++, имеет отдельный стандарт, который также рассчитан на разработчиков компиляторов.
4. Оба стандарта дают разработчикам компиляторов простор для творчества в плане реализации, главное чтобы выполнялись правила и ожидаемое поведение.
5. Автор C++ не является разработчиком стандартов, а всего лишь принимал и принимает при их разработке активное участие. Автор C++ не является разработчиком компиляторов к языку C++. Автор C++ не является разработчиком STL. Автор C++ обязан придерживаться утверждённых стандартов при дальнейшей разработке языка.
6. Автор русского языка (C++) не несёт ответственности за учебники русского языка (C++). Автор учебника русского языка (C++) не является редактором, корректором и наборщиком своего учебника. Автор C++ не несёт ответственности за перевод на другие языки своих книг.
7. Установленные стандартами правила не гарантируют избежание проблем. Разработчики компиляторов и стандартной библиотеки не обязаны строго следовать стандартам и вправе вносить в них изменения и дополнения либо отказываться от части реализации определённых стандартом правил.
8. Кроссплатформенность кода – это личная боль и проблема разработчиков компьютерных программ. Право выбора компилятора определяется самим разработчиком либо нанимателем, либо заказчиком программного обеспечения.
9. Недовольство программиста компилятором является частной и внутренней проблемой программиста, которую он решает самостоятельно путём принятия её как данность либо расторжением договорных отношений со всеми вытекающими из данного договора последствиями.
P.S. Всё вместе можно свести для нас в единое правило: «Кушать подано...»
Kana Kana
потому у нас и жопа происходит во всех областях хоздеятельности
Да. Он же автор языка. А вообще учить STL и Boost
Kana Kana
Вы, наверное, не в курсе причин моих вопросов. ТО, ЧТО ДОПУСТИМО С ТОЧКИ ЗРЕНИЯ АВТОРА ПОЧЕМУ-ТО СЧИТАЕТСЯ KРАМОЛОЙ У VISUAL STUDIO 2019... Местные знатоки так и не смогли прояснить ситуацию. и что интересно, автор просит делать проще и эффективнее, а на деле получается полная зависимость от переумков-компиляторщиков, которые просто наплевали на какую-либо переносимость программ
Kana Kana
надо будет поискать КОСЯКИ по реализации STL у разных компиляторов. Вот наверное посмеёмся
С совместимостью не так всё просто...
Во-первых, GCC - универсальный, а Студия под виндой.
Но зато у Студии есть отладчик, а это очень много! В Линуксоидном GDB поди ещё разберись!
Во-вторых, компилятор тянет за собой свой линкер, свой ассемблер и свой менеджер проектов.
Во-первых, GCC - универсальный, а Студия под виндой.
Но зато у Студии есть отладчик, а это очень много! В Линуксоидном GDB поди ещё разберись!
Во-вторых, компилятор тянет за собой свой линкер, свой ассемблер и свой менеджер проектов.
Kana Kana
Больше на правду похоже. MINGW в блоках принимает то, от чего плюётся VS. На сайте С++Reference есть работа с неинициализированными указателями и расположением строковых данных по принципу ассемблера, а вот VS считает ЭТО недопустимым. По-моему налицо "подрывная работа"против программирования в РФ в лице распространения говнокомпиляторов и прочих "стандартов"
Андрей Гарин
Ну, да просто Майки не умеют в стандарты. У GCC ключей, относящихся к стандартам и синтаксису несколько десятков, а у Студии - всего несколько штук.
Kana Kana
кстати, сейчас запустил прогу с НЕИНИЦИАЛИЗИРОВАННЫМ указателем и О ЧУДО... Заработало! Здесь материться не нужно, но студентам ЗАПОМНИТЬ НАДО - не верь глазам своим, пока сам не убедишься.
Андрей Гарин
Да, есть такое. Начиная с некоторого количества строк, Студия как-бы расслабляется и перестаёт замечать некоторые не слишком серьёзные ошибки. У GCC - всё на ключах. Указал ему, чтобы он показывал тебе неинициализированные указатели, const-ы где нужны и т. п. Фактически, GCC можно приспособить под простенький синтактический анализатор.
Похожие вопросы
- Что есть истина?:)))
- Вот ОДНА истина: В начале было Слово, и ...и ...Но сложена из трех. Задача : определить свойства истины.
- А - Идя по Пути Истинному. . = Идёшь по Истинам? встречающимся на пути и его составляющим? Вы Согласны что ИСТИН = Много!
- Во истину или воистину
- "Что есть истина"? Каково понимание истины в христианстве?
- Где находится истина? Что может сделать истина для человека? Что есть истина?
- Здравствуйте! Хотелось бы узнать ваши мнения по мнению моему в отношении философской истины?
- Почему мало кто действительно хочет познать истину? Иоанна 8:32 "...и познаете истину, и истина сделает вас свободными."
- ИСТИНА, кто как ее понимает?!
- Та философия найдет истину, что не найдет саморазрушения. Хороший афоризм? Прошу комментариев