Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 0
Регистрация: 19.08.2015
Сообщений: 93
1

Возможна ли компиляция одного и того же исходного кода в разных компиляторах?

29.11.2018, 21:01. Показов 842. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Будут ли копии одной и той же программы на Си компилироваться в разных компиляторах или потребуется вносить какие-то изменения в исходный код программы для совместимости с другим компилятором?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.11.2018, 21:01
Ответы с готовыми решениями:

lwjgl и баг(артефакты в разных местах при повторе одного и того же кода)
Всем доброго вечера. Недавно занимаюсь c lwjgl. Вот просто рисуя старым добрым способом от руки,...

PHP Возможна ли передача одного и того же атрибута двум объектам form?
Здравствуйте! Интересует вопрос, можно ли передать один и тот же атрибут (id) методом _POST или...

Компиляция исходного кода
Идея глупая, но не очень сча я немного подробней скажу что хочу, Я хочу текст написать в мемо и...

Компиляция исходного кода
Доброго времени суток! Объсните подробно, пожалуйста, кто сталкивался, как получить из файла...

3
57 / 53 / 18
Регистрация: 18.02.2018
Сообщений: 227
30.11.2018, 07:47 2
Выдержка из википедии:

"ANSI C сейчас поддерживают почти все существующие компиляторы. Почти весь код Си, написанный в последнее время, соответствует ANSI C. Любая программа, написанная только на стандартном Си, гарантированно будет правильно выполняться на любой платформе, имеющей соответствующую реализацию Си. Однако большинство программ написаны так, что они будут компилироваться и исполняться только на определённой платформе, потому что:

1. они используют нестандартные библиотеки, например, для графических дисплеев;
2. они используют специфические платформо-зависимые средства;
3. они рассчитаны на определённое значение размера некоторых типов данных или на определённый способ хранения этих данных в памяти для конкретной платформы."
1
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
30.11.2018, 09:46 3
Еще добавлю, что у разных компиляторов существуют собственные расширения. Так, например, майкрософтовский компилятор (не знаю точного названия) активно пропагандирует нестандартные функции printf_s, scanf_s, strcpy_s и тому подобные. Насколько мне известно, ни один другой компилятор такого не поддерживает. Туда же #pragma <library>. А, скажем, CodeVisionAVR (один из компиляторов для микроконтроллеров AVR) обрабатывает конструкции вида PORTB.1, чего опять же не поддерживают остальные.

Добавлено через 2 минуты
Если хотите написать кроссплатформенную программу, придется все это учитывать.
Но даже так, 100% кроссплатформенности достичь удастся только для самых простых программ. Вам все равно придется использовать платформо-зависимый код (работа с файловой системой, многопточность, сеть). Такой код выносят в специальное место, обзывают "слоем переносимости" и переписывают под каждую добавляемую архитектуру / компилятор.
1
57 / 53 / 18
Регистрация: 18.02.2018
Сообщений: 227
30.11.2018, 16:57 4
Те же самые WinAPI и conio чего стоят.
Обычно в переносимости очень хорошо помогает cmake.
0
30.11.2018, 16:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.11.2018, 16:57
Помогаю со студенческими работами здесь

Компиляция исходного кода
Помогите пожалуйста кто может. разобрал .jar вынул .class перевел в .java внес изменения в коде, с...

java компиляция исходного кода
Доброго времени суток , уважаемые знатоки. Допустим есть класс example с функцией main, помещенный...

Динамическая компиляция исходного кода
Всем привет перейду сразу к вопросу) есть код допустим showMessage('Бла Бла'); как можно...

Cmake и компиляция исходного кода
Всем здравствуйте, есть небольшой вопрос по компиляции исходного кода приложений. Краткое...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru