|
0 / 0 / 0
Регистрация: 11.07.2018
Сообщений: 4
|
|
Объяснить Отличие С под Windows и Linux11.07.2018, 11:44. Показов 4184. Ответов 39
Метки нет (Все метки)
С очень на этих операционных системах очень отличается. Нужно выполнить задание
Create a function that displays the alphabet in lowercase, on a single line, by ascending order, starting from the letter ’a’. Кто может помочь сделать и объяснить...
0
|
|
| 11.07.2018, 11:44 | |
|
Ответы с готовыми решениями:
39
Консультант+ на машине под Linux по сети с машины под Windows |
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 22.08.2018, 20:47 | |
|
0
|
|
| 22.08.2018, 21:15 | ||
|
Т.е. программист, следуя стандарту должен опираться на CHAR_BIT, а не на 8, потому как этот дефайн может быть любым, в этом случае программист уже не будет зависеть от железа - этим будет заниматься создатель компилятора, который и пропишет нужное значение для CHAR_BIT.
0
|
||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||||
| 22.08.2018, 22:10 | ||||
|
drfaust, что-то мне не понятно с чем именно вы не согласны.
Вот цитата из 5.2.4.2.1:
Добавлено через 2 минуты Я напомню контекст моего ответа:
1
|
||||
| 23.08.2018, 04:04 | |
|
Не по теме: Возможна ли реализация, соответсвующая стандарту, на недвоичных ЭВМ?
0
|
|
| 23.08.2018, 10:40 | ||
|
З.Ы. такое ощущение, что мы говорим об одном и том же, только разными словами...
0
|
||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||
| 23.08.2018, 11:54 | |||
|
Во-первых я нигде не говорил, что размер байта всегда и строго 8. Наоборот, я привел данную цитату в доказательство того, что это не так. Однако есть важный момент, стандарт нам говорит, что вот, дескать, тут показаны значения констант, они зависят от реализации и могут меняться в зависимости от платформы, но лишь только в большую сторону. Написано же об этом прямо:
Я уже не знаю как выделять еще, чтобы было понятно. И уж конечно, я нисколько не спорю, что значения могут быть больше 8. Стандарт допускает и 9-битный байт, и 12-битный и т.д. И уж точно я не отрицаю, что существуют машины (или протоколы), где разрядность байта была меньше. И то, что компилятор С для них создать возможно - я тоже не отрицаю, только вот стандарту он соответствовать не будет.
1
|
|||
| 23.08.2018, 17:01 | ||
|
Я ,конечно не монстр английского, но мне кажется, что под фразой "to those show" имеется как раз значение CHAR_BITS без привязки к 8бит.
0
|
||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||
| 23.08.2018, 19:13 | |||
shall be equal or greater? ![]() А цитата Annex E никак не противоречит этому. Действительно, разработчик может поменять значение на любое число большее 8-ми, или оставить все как есть.
0
|
|||
| 23.08.2018, 19:24 | |||
|
Зашли в тупик...
Я мыслю так "shall be equal or greater that CHAR_BIT" и Дело в том, что это один из фундаментальных вопросов. 1. Если прав DrOffset, то имеем дикие проблемы "кроссплатформеностью" Си - на минимально адресуемом объекте ниже 8 имеем дикие проблемы. 2. Если прав я, то имеем математический казуз, при котором практически отсутствует целочисленная арифметика при CHAR_BIT равном 1 или 0.
0
|
|||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||||
| 23.08.2018, 19:37 | ||||
|
Вот, например, ответ с SO, в котором написано тоже самое, о чем говорю я: https://stackoverflow.com/a/881968
0
|
||||
| 23.08.2018, 19:54 | |||
|
Для ARM, STM, i51 - не поленились, не только компилеры Си, но и целые среды с либами под обвязку есть...
0
|
|||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||
| 23.08.2018, 20:01 | |||
|
0
|
|||
| 23.08.2018, 20:09 | |
|
Меня больше теория интересует и трактовка стандарта. Потому и возник этот спор.
Сейчас пытаюсь разжевать Вашу ссылку на стэковерфлоув... Просто хочу понять его "до конца"... Язык достаточно жёсткий(в смысле ограничений и типизации), но предоставляет, не в пример остальным, удивительную гибкость. Найти его "дно" - вот что меня интересует.
0
|
|
| 24.08.2018, 15:41 | |
|
0
|
|
| 24.08.2018, 17:49 | |||
|
Ну вот.
Можно начать с определений (пользуюсь этой публикацией http://www.dii.uchile.cl/~daes... nition.pdf)
5.2.4.2.1 Sizes of integer types <limits.h> - это уже жевали. На всё это натолкнул пост с той самой темы на стековерфлов https://stackoverflow.com/a/43947910 Т.е., если чудо-разраб железяки посчитает, что для его системы достаточно 128 символов (верхняя фиксированная часть ASCII) - то и байт может сделать 7 - битным, и прописав в limits.h своего компилера Си CHAR_BIT = 7 он по прежнему будет находиться внутри стандарта - не вылезет за его пределы. Я именно об этом говорил. Если уж вообще уйти в абсурд, то теоретически хватит и одного бита на байт, правда тогда начнутся чудеса с арифметикой.
0
|
|||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||||
| 24.08.2018, 20:02 | ||||
|
drfaust, по вашей же ссылке в лучшем ответе говорится ровно то же самое, о чем говорилось мной выше.
Ваши цитаты не опровергают это. И вы так и не объяснили как по-вашему будет на практике смотреться эта интерпретация: Добавлено через 10 минут Ладно, хорошо, допустим для вас в стандарте непонятно написано. Давайте откроем книгу создателей языка. Классику K&R. Оригинал (второе издание)
1
|
||||
| 24.08.2018, 20:07 | ||
|
Я в limits.h, который и будет поставляться с моим компилером прописал бы нужный мне CHAR_BIT(для примера возьмём 7). Естественно остальные константы будут скорректированы кратными CHAR_BIT, ибо нам нужен sizeof() - это одна из засад, 14битный int.
Опять же всё это должно поддерживаться железом(АЛУ проца) иначе обычное сложение вида add al,bl превратиться в ужасно тормозящую инлайн-функцию. На вскидку где бы могло пригодиться - помехозащищённая фигня, на базе 8битного проца, в которой знаковый бит(8й) используется как бит чётности для проверки не повреждены ли данные, пока ехали от ОЗУ/ПЗУ в проц и/или между внешними девайсами. "должен быть равен или больше" - да он будет "равен", и учитывая значение CHAR_BIT размер char станет 7 бит. Это для примера. Пример можно превратить в 4х - битный, тогда с привычной нам арифметикой будет проще. Естественно всё это должно делаться только для конкретной железки. Про экономику забудем - менее 8бит сейчас никому не интересно. Меня интересует теория. А именно, если CHAR_BIT не ограничен снизу 8битами - имеем теоретическую возможность "вырождения" арифметики, да и всего языка Си при CHAR_BIT равным 1, или хуже того 0 Добавлено через 3 минуты ![]() Неоднократно говорил, что если опираться на стандарт - имеем теоретическую ситуацию вырождения языка при малых CHAR_BIT. Для практики - да, смысла никакого абсолютно нет в CHAR_BIT меньше 8.И что мы имеем исходя из нашей дискуссии: 1. Практических реализаций CHAR_BIT < 8 не было, нет и не будет, т.к. это бесмысленно 2. Стандарт допускает возможность CHAR_BIT < 8 и при этом не ограничивает снизу - т.е. в теории мы можем получить абсурд при CHAR_BIT = 1 или CHAR_BIT =0 (ну отрицательные даже для меня это уж слишком)
0
|
||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 24.08.2018, 20:24 | |
|
1
|
|
| 24.08.2018, 20:30 | |
|
0
|
|
| 24.08.2018, 20:37 | |||
Если верить гуглопереводу
Сдаюсь.
1
|
|||
| 24.08.2018, 20:37 | |
|
Можно ли под Windows поставить какой - то комплект Qt, чтоб параллельно компилить под Win и Linux? DB2 backup под Windows и под Linux. Qt из windows под linux Под windows и linux Из под Windows в Linux Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
|
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
|
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи.
. . .
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|