Модераторы: bsa

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Микс, Разные простые вопросы 
V
    Опции темы
xvr
Дата 6.7.2011, 22:19 (ссылка) |    (голосов:6) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Цитата(Сыроежка @ 6.7.2011,  14:54)
Вы очевидно относиетсь к тем программистам, опыт которых ограничен лишь работой на одной платформе, и которые начинают свято верить, что других аппаратных архитектур и операционных систем в природе просто не существует!smile

Далеко не на одной, вынужден вас огорчить  smile SPARK, Itanium, ARM, x86, x86-64 Достаточно?

Цитата

Я вам на самом деле уже все указал, просто вы не внимательно читаете, что вам другие пишут!
'Другие' - это вы один. Вам же пишут хором (человек так 5), но вы похоже вообще не читаете  smile 

Цитата

Есть такие вычислительные машины, как IBM mainframe. 
Да, IBM у меня под столом не завалялось, увы  smile 

Цитата

Так на этой платформе обращение к памяти, не выравненное соответсвующим образом приводит к аварийному завершению программы. 
Ну и что? На SPARK'е это тоже так. И на ARM'е. А на x86 не так. И что это доказывает? Только то, что компьютеры бывают разные.

Когда на С или С++ объявляется статическая переменная типа int, то как раз генерируется директива ассемблера DS F. 
[/quote]gcc предпримет явные действия по выравниванию, а не будет полагаться на ассемблер

Код

char c1;
int i2;
long long ll1;


результат после g++ (ассемблер)

Код

    .file    "al.cc"
.globl _c1
    .bss
_c1:
    .space 1
.globl _i2
    .align 4
_i2:
    .space 4
.globl _ll1
    .align 8
_ll1:
    .space 8


Цитата

Когда вы сами удостоверитесь в том, что я написал, с помощью своих более опытных щнакомых, 
Я уже удостоверился, из первоисточника - компилятора. С более опытными 'щнакомыми' советую ознакомится вам, хотя видимо не поможет. Вам уже хором эти самые 'более опытные' говорят и говорят - все как об стенку горох  smile 

Цитата

Правильный код, написанный на С/С++, должен быть переносим, не так ли? 
Нет, не так. Может быть переносим, но не обязан. Переносимость - это всего лишь одно из требований к программе. Оно может требоваться, а может и не требоваться.

Цитата

Теперь представьте ситуацию, что ваш "правильный" код на одной платформе работает, а на другой платформе аварийно завершается.
Запросто могу представить. Для начала она (программа) скорее всего на другой платформе не соберется.

Цитата

 И что тогда делать с переносимостью языка?!
А ее и нет. Посмотрите на коды переносимых программ на С (или С++). Найдете кучу ifdef и прочих прелестей, для каждой конкретной платформы.

Цитата

Значит надо принимать такое решение в стандарте, чтобы исключить такую ситуцию, чтобы действительно правильный окд, который удовлетворяет стандарту, мог работать на любой платформе!

Это ваши домыслы. Стандарт этого не требует. Если вам нужен 100% переносимый код - пишите на Java, хотя и там 100% не получается  smile 

Цитата

Я вам приведу другой пример узости мышление подобного вашему. Он симметричен данной дискуссии, но только тогда оппонентом у меня выступал программист, работающий на IBM mainframe. ОН в стандартную строковую функцию передавал нулевой указатель. Когда я ему заявил, что так делать нельзя, и такое поведение программы неопределенное, он мне в ответ точно стал возражать походим образом, как это делаете вы. Он мне заявил, что программа нормально работает, так как IBM mainframe позволяет читать память по нулевым адресам. Убедить его было бесполезно, пока я его не подвел к Intel платформе, на которой вы работаете, и не показал, что программа завершается аварийно при попытке чтения в Windows памяти по нулевым адресам.
Ну и что? Его программа должна была работать на Windows? Если нет, то он абсолютно прав.

Цитата

Так что смотрите на вещи ширше!smile И не думайте, что весь мир ограничен той платформой, на которой вы работаете!smile

Не записывайте себя во 'весь мир'. 

Цитата

Это вы хотите, чтобы я признал ваш бред в виде вашего кода
Код

int *p = адрес;
// сдвинуть на 3 байта
 p = (int*)((char*) p + 3);


который совершенно не соответсвтует стандартам С и С++?!!
Соответствует. Код абсолютно правильный (для x86), и абсолютно не переносимый.

Цитата

 Вы уж лучше учите С/С++! Это вам пойдет на пользу!
Да уж, вам его учить не надо - на пользу явно не пошло  smile 


PS. И не надо со мной спорить, просто поверьте человеку, который принимал участие в написании как минимум 2х коммерческих компиляторов.  smile 



PM MAIL   Вверх
Сыроежка
Дата 7.7.2011, 17:38 (ссылка)    | (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 127
Регистрация: 24.6.2011

Репутация: 1
Всего: 1



Цитата(xvr @  6.7.2011,  22:19 Найти цитируемый пост)
Нет, не так. Может быть переносим, но не обязан. Переносимость - это всего лишь одно из требований к программе. Оно может требоваться, а может и не требоваться.


Вынесете ересь! Почитайте в стандарте определение программы, строго соответсвтующей стандарту, и должна ли она выполняться на любой платформе. Вы даже этого определения из стандарта не знаете, а пытаетесь о чем-то рассуждать. Если следовать вашей логике, то стандарт вообще никакого смысла не имеет, так как есть различные платформы, которые. как говорится, что хотят, то и творят.

Цитата(xvr @  6.7.2011,  22:19 Найти цитируемый пост)
Это ваши домыслы. Стандарт этого не требует. Если вам нужен 100% переносимый код - пишите на Java, хотя и там 100% не получается  


Это не мои домыфслы, а это ваше полное не знание стандарта языков программирования С и С++! Вы даже не знаете, как я уже написал выше, определение строгогго соответсвия программы стандарту!



Цитата(xvr @  6.7.2011,  22:19 Найти цитируемый пост)
Да, IBM у меня под столом не завалялось, увы  


У вас не только IBM под рукой нет, нол ук вас и знаний С и С++ нет, но тем не менее вы свое невежество пытаетесь поставить выше стандарта.

И потом, я вам уже ясно сказал, что если на одной платформе обращение к памяти, не выравненной по границе типа данного заканчивается аварийно, а на друцгой нет, то это никак не связан, как вы наивно думаете, с платформами, а это связано с тем, что 1) код некорректный; 2) вы совершенно не знаете С и С++. И это никак не свуязано с особенностями платформ, как вы наивно думаете! Иначе бы просто С, как языка, не существаовало. Не догадываетесь, почему? Попробутй догадаться с трех раз! Не догадались? Я вам подскажу: тогда бы поведение программ было совершенно не предсказуемыма!

Однако, как вам это не покажется странным, это на самом деле не так! Я для IBM mainframe писал программы на Visual C++, так как у меня под рукой тоже не было IBM mainframe. И тем не менее код, написанный на Visual C++ без единой ошибке исполнялся на IBM mainframe, когда я его пересылал по электронной почте.

Извините, но далее ваш бред мне просто не интересно читать!
PM MAIL   Вверх
xvr
Дата 7.7.2011, 22:04 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Цитата(Сыроежка @  7.7.2011,  17:38 Найти цитируемый пост)
Почитайте в стандарте определение программы, строго соответсвтующей стандарту, и должна ли она выполняться на любой платформе. 

Ссылку из стандарта - на бочку!

Цитата(Сыроежка @  7.7.2011,  17:38 Найти цитируемый пост)
Это не мои домыфслы, а это ваше полное не знание стандарта языков программирования С и С++! Вы даже не знаете, как я уже написал выше, определение строгогго соответсвия программы стандарту!

Это уже наглость, причем безмерная.

Цитата(Сыроежка @  7.7.2011,  17:38 Найти цитируемый пост)
нол ук вас и знаний С и С++ нет, но тем не менее вы свое невежество пытаетесь поставить выше стандарта.

Мое терпение закончилось. Или вы предоставляете ссылки на пункты стандарта, о которых вы тут говорите, или получаете от меня предупреждение за наезды и клевету.

Цитата(Сыроежка @  7.7.2011,  17:38 Найти цитируемый пост)
И потом, я вам уже ясно сказал, что если на одной платформе обращение к памяти, не выравненной по границе типа данного заканчивается аварийно, а на друцгой нет, то это никак не связан, как вы наивно думаете, с платформами, а это связано с тем, что 1) код некорректный; 

Это уже 100% бред. Причем ничем не подкрепленный, кроме ваших слов, которым уже веры нет.


PM MAIL   Вверх
mes
Дата 7.7.2011, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Сыроежка, чтоб долго не спорить, выделю главнoе : стандарт не определяет значений, а лишь определяет требования/правила..  так если по стандарту данные должны быть выровнены, то на сколько определяет платформа.. т.е. на платформе с выравниваением для int равным 1, код из первых постов, который у Вас вызывает отвращение, вполне корректный.. А чтоб он не был ill-formed на других платформах, можно добавить ограничения.. например  зa'ifdef`ить ..  smile
если ж, конечно, таковое требуется, так как есть множество кода, который по инным причинам не может быть "воспроизведен" на других платформах..  


Вы можете опровергнуть, если приведете выдержку из стандарта, показывающую, что выравнивание (пусть для int) не может быть равно 1. smile
smile

Это сообщение отредактировал(а) mes - 8.7.2011, 08:38


--------------------
PM MAIL WWW   Вверх
borisbn
Дата 8.7.2011, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Цитата(Сыроежка @  7.7.2011,  17:38 Найти цитируемый пост)
Почитайте в стандарте определение программы, строго соответсвтующей стандарту, и должна ли она выполняться на любой платформе.

такая программа соответствует стандарту ?
Код

#include <windows.h>
int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance, 
    LPSTR lpCmdLine, int nCmdShow) 

    MSG msg; 
    ... 
    while ( GetMessage( &msg, (HWND) NULL, 0, 0 ) )
    { 
        TranslateMessage( &msg );
        DispatchMessage( &msg );
    } 
    return msg.wParam; 


а ведь она даже не будет компилироваться на платформе, где нет windows, однако на windows-платформе - абсолютно корректная и выполняющая все требования стандарта... нет ?


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
xvr
Дата 8.7.2011, 09:28 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Мы тут все были потрясены опросом, устроенным нашим 'Гуру от Стандарта', где он потребовал от нас сокровенных знаний о существовании знакового чара и умопомрачительных тонкостей взаимодействия автоматического приведения типов и, страшно сказать, integer promotion. Я лично до сих пор бьюсь в истерике, от того, что не смог справится с этим невообразимо сложным заданием  smile  smile 

Что бы хоть как то загладить свою вину, я специально набросал небольшой квест. Я думаю, что для такого знатока стандарта, как Сыроежка, он будет не более, чем легкой разминкой перед завтраком. Квест тут  smile 

Если уважаемый Учитель Сыроежка справится с этим квестом, я торжественно клянусь smile  признать свое полное невежество не только в знании стандарта С++, но и в программировании вообще  smile 

А если не справится, то придется лишить Сыроежку звания Гуру и Учителя и забанить за необоснованные наезды на участников, и за выдачу своего личного мнения (причем ошибочного) за стандарт С++  smile 

PM MAIL   Вверх
boostcoder
Дата 8.7.2011, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



Цитата(xvr @  8.7.2011,  09:28 Найти цитируемый пост)
 клянусь признать свое полное невежество не только в знании стандарта С++, но и в программировании вообще

фигасе smile 
PM WWW   Вверх
mes
Дата 8.7.2011, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(xvr @  8.7.2011,  08:28 Найти цитируемый пост)
Если уважаемый Учитель Сыроежка справится с этим квестом

ммм.. достаточно просто ответить на вопросы или аргументироватьцитатами из стандарта.. ? 

Цитата(xvr @  8.7.2011,  08:28 Найти цитируемый пост)
я торжественно клянусь

что то мне подсказывает, что квест Вы выбрали достаточно простой...


--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 8.7.2011, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



я вас сильно разочарую: сыроежка больше не появится smile 
PM WWW   Вверх
bsa
Дата 8.7.2011, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(boostcoder @  8.7.2011,  10:23 Найти цитируемый пост)
я вас сильно разочарую: сыроежка больше не появится

почему?
PM   Вверх
boostcoder
Дата 8.7.2011, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



Цитата(bsa @  8.7.2011,  16:44 Найти цитируемый пост)
почему?

обычно так и бывает...
ну не знаю почему...самомнение зашкаливает при провоцировании ситуации, и не позволяет признать что-то когда приходит время отвечать за слова...
PM WWW   Вверх
Сыроежка
Дата 8.7.2011, 18:01 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 127
Регистрация: 24.6.2011

Репутация: 1
Всего: 1



Цитата(borisbn @  8.7.2011,  08:37 Найти цитируемый пост)
Цитата(Сыроежка @  7.7.2011,  17:38 Найти цитируемый пост)
Почитайте в стандарте определение программы, строго соответсвтующей стандарту, и должна ли она выполняться на любой платформе.

такая программа соответствует стандарту ?
Выделить всёкод C++

    
#include <windows.h>
int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance, 
    LPSTR lpCmdLine, int nCmdShow) 

    MSG msg; 
    ... 
    while ( GetMessage( &msg, (HWND) NULL, 0, 0 ) )
    { 
        TranslateMessage( &msg );
        DispatchMessage( &msg );
    } 
    return msg.wParam; 


а ведь она даже не будет компилироваться на платформе, где нет windows, однако на windows-платформе - абсолютно корректная и выполняющая все требования стандарта... нет ? 


А причем здесь С или С++? Вы вообще=то сами понимаете, что пишите? Вы обращаетесь к службам операционной системы. Ни С, ни С++ никакой ответсвенности за использование системно-зависимых вызовов ответсвенность не несет! Ни в С, ни в С++ не определяются такие функции!
Так что ваш пример крайне глупый!
PM MAIL   Вверх
Сыроежка
Дата 8.7.2011, 18:45 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 127
Регистрация: 24.6.2011

Репутация: 1
Всего: 1



Мне надоело толочь в ступе одно и тоже, с теми, кто совершенно не разбирается в С/С++, и тем более в Java, на который здесь пытаются ссылаться.

Поэтому сделаю заключительное пояснение. Язык С/С++ совместим на разых платформах и переносим! То есть поведение С/С++ предсказуемо и определено согласно абстрактной вычислительной машины, описанной в стандарте. То есть если вы не используете в программе системо-зависимых средств, то никаких проблем у вас не будет. Несовместим не язык, как тут по недопониманию заявляют некоторые, а несовместимы платформы между собой! А это совершенно разные вещи. Например, на одной платформе размер целого числа может составлять 16 бит, на другой 32-бита, на третьей 64 бита, и т.д.

Язык Java ни тем не лучше С/С++ в лане переносимости. То есть язык Java не имеет отношение к переносимости.  Что на самом деле сделали разработчики Java? Они создали абстрактную виртуальную платформу! А уж затем поверх этой абстрактной виртуальной платформы наклеили Java. Точно с таким же успехом поверх этой виртуальной абстрактной платформы можно наклеить любой язык,как, например, Бейсик, Паскаль и тот же самый С/С++.  Так что ссылаться на язык Java  и говорить о какой-то переносимости языка - это некорректно! Здесь роль играет не сам язык, а та абстрактная виртуальная платформа, поверх которой язык реализуется.

Кто-нибудь задумывался, почему поверх этой абстрактной виртуальной платформы поместили некий новый язык под названием Java, а не тот же самый С или С++?

Дело в том, что назначение С/С++ вполне конкретное, и этот (эти) языки занимают свою нишу, которую никто другой занять не может.

Язык С - это по сути дела универсальный ассемблер для любой платформы с мнемоникой более высокогот уровня, чем у ассемблеров конкретной платформы. Именно это роль С играет. Его синтаксис очень спартанский, он эффективный, порой его объектный код ничем не уступает аналогичному коду, написанному на ассемблере. В этом и состот миссия этого языка. Поэтому, например, Страуструп очень строго следит, чтобы нововведения в язык С++ не делали его менее эффективным, чем язык С. Многие предложения по стандартизации языка С++ были отклонены Страустропом, именно исходя из ссображений, что эти предложения снижали эффективность языка.

Поэтому язык С/С++ приближен к особенностям различных платформ, то есть он позволяет различным платформам "внедряться" в язык С/С++. Что имеется в виду? Главное, это то, что языки С/С++ оставляют открытым вопрос о размере целочисленных типов. Единственное, что четко прописано, это то, что типы char(s) должны занимать один байт. Но при этом даже байт не обязан состоять из 8 битов, а может состоять из 9 битов. Для представлянеия в памяти целых чисел могут использоваться различные форматы, а не только дополнение до 2. Может быть и дополнение до 1, и другой формат, когда представления отрицательных и положительных сичел отличается лишь битовым знаком. Более тогог, представления целых чисел может содержать пустоты!
То есть язык С/С++ оставляет открытыми двери для особеностей той или иной платформы. Но тем не менее семантика языка, его требования к поведению кода четко прописаны. И с этой точки зрения, если ваш код не опирается на системно-зависящие вещи, полностью переносим. А иначе и быть просто не может! В противном случае мы имели бы столько языков С, сколько существует платформ, и каждый язык имел бы свой синтаксис и свою семантику.

Я не спроста приводил пример, что я на Visual C++ писал код для IBM mainftame, и этот код без каких-дибо изменений выполнялся так, как и предполагалось, когда он писался на Visual C++. Почему? Потому что, во-первых, и там, и там была 32-битовая система, и код не использовал каких-то системно-зависимых вызовов.

С/С++ предполагают, что целые числа выравнены в соответсвии с кратностью их размеров. Почему это не прописано? Да просто потому, что стандарт не определяет размеры целых чисел. Он лишь определяет их ранги относительно друг друга. Кроме того сами стандарты несовершенно и постоянно редактируются. Так что это обычное дело для стандарта, если что-то четко не прописано. ВЫ можете послать свои предложенияч по уточнению стандарта в комитет по стандартизации.




PM MAIL   Вверх
xvr
Дата 8.7.2011, 20:02 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Цитата(Сыроежка @  8.7.2011,  18:45 Найти цитируемый пост)
Мне надоело толочь в ступе одно и тоже, с теми, кто совершенно не разбирается в С/С++, и тем более в Java, на который здесь пытаются ссылаться

Мания величия в очень запущенной форме. Пациенту рекомендуется бан на форуме, пока не остынет  smile 

Цитата(Сыроежка @  8.7.2011,  18:45 Найти цитируемый пост)
Язык С/С++ совместим на разых платформах и переносим! То есть поведение С/С++ предсказуемо и определено согласно абстрактной вычислительной машины, описанной в стандарте. 

Угу, 'абстрактный конь в вакууме'  smile 

Цитата(Сыроежка @  8.7.2011,  18:45 Найти цитируемый пост)
Несовместим не язык, как тут по недопониманию заявляют некоторые, а несовместимы платформы между собой!

Вы не думали в политику пойти? Или в журналисты? Так перевернуть все с ног на голову - это надо иметь талант  smile 

Цитата(Сыроежка @  8.7.2011,  18:45 Найти цитируемый пост)
Например, на одной платформе размер целого числа может составлять 16 бит, на другой 32-бита, на третьей 64 бита, и т.д

Спасибо, о Великий Гуру! Как же мы раньше жили без столь великого знания!

Цитата(Сыроежка @  8.7.2011,  18:45 Найти цитируемый пост)
С/С++ предполагают, что целые числа выравнены в соответсвии с кратностью их размеров.
Ссылка на стандарт будет?

Цитата(Сыроежка @  8.7.2011,  18:45 Найти цитируемый пост)
Почему это не прописано? 
Видимо не будет  smile 

Цитата(Сыроежка @  8.7.2011,  18:45 Найти цитируемый пост)
Так что это обычное дело для стандарта, если что-то четко не прописано.
Точно не будет  smile 

Демагог наш великий. Вы очень изящно заменяете задаваемые вам вопросы на другие, на которые и отвечаете (абсолютно правильно и последовательно, хотя и нафиг никому не нужно). Выдаете свое (порой ошибочное) мнение за стандарт, с формулировкой "Я ТАК СКАЗАЛ! Не нравится - ищите в стандарте сами". Любых несогласных с вами объявляете неучами, и отправляете учить стандарт  smile 

Когда вас ткнут носом (с примерами и ссылками на тот самый стандарт) в неувязки в вашей демагогии, вы объявляете виноватыми в узости мышления, незнании стандарта и прочих смертных грехах того, кто вас ткнул.

Я все еще жду от вас ссылки на стандарт, и ответов на квест в соседней теме, который я создал СПЕЦИАЛЬНО ДЛЯ ВАС!

Иначе я считаю вас троллем с всеми вытекающими последствиями



PM MAIL   Вверх
azesmcar
Дата 8.7.2011, 22:37 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(Сыроежка @  8.7.2011,  18:45 Найти цитируемый пост)
То есть если вы не используете в программе системо-зависимых средств, то никаких проблем у вас не будет. 

а если использую - будут? очень интересно для чего тогда создаются расширения языка, intrinsic-и, поддержка inline assembler-а, платформозависимые библиотеки? Это все создается затем, чтобы у нас были проблемы?

Стандарт - как бы ты его не любил, это не пуп земли и вокруг него мир программиста C++ не вертится. Стандарт многое оставляет на усмотрение компилятора и основываясь на гарантиях конкретного компилятора я могу писать платформозависимый код на C++ и мне откровенно говорю до уличного осветительного прибора чье либо одобрение. Писать платформозависимый код там, где не нужна переносимость - это вполне нормально.
PM   Вверх
Закрытая темаСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1047 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.