Здравствуйте, abdab, Вы писали:
A>Кто-нибудь знает где его можно скачать (лучше в pdf)? Никак найти не могу, нужен именно ANSI C, который C89. A>Заранее спасибо.
могу ошибаться, но, кажется, нету его в пдф и вряд ли он есть где-то собранный в один документ. а зачем вам такое старье, чем 99 и позже не подходят?
Of course, the code must be complete enough to compile and link.
Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>могу ошибаться, но, кажется, нету его в пдф и вряд ли он есть где-то собранный в один документ. а зачем вам такое старье, чем 99 и позже не подходят?
У нас есть проект, написанный на C, работает на IAR и на студии, причем, например, студия поддерживает не все возможности C99, но там несложно обойти. Теперь встал вопрос собрать под Arm compiler, тот вообще хз чего поддерживает, например, ругается на union без имени, вот и хотелось бы узнать в стандарте С89 это возможно или нет, чтобы на будущее писать кроскомпиляторный код на чистом ANSI C насколько это возможно.
Слышал что Кернигана и Ричи можно использовать в качестве стандарта ANSI C, правда ли это?
Здравствуйте, ДимДимыч, Вы писали:
ДД>Если под ARM собираете с gcc, то включите опцию -std=c89. Еще -pedantic может помочь.
Та не, используется именно ARM Compiler.
Нашли что с анонимными юнионами проблема решается вставкой прагмы #pragma anon_unions, вобщем то еще извращение. Мне иногда кажется, что количество всяческих возможных прагм обратнопропорционально качеству компилятора..
Здравствуйте, abdab, Вы писали:
A>Здравствуйте, ДимДимыч, Вы писали:
ДД>>Если под ARM собираете с gcc, то включите опцию -std=c89. Еще -pedantic может помочь.
A>Та не, используется именно ARM Compiler. A>Нашли что с анонимными юнионами проблема решается вставкой прагмы #pragma anon_unions, вобщем то еще извращение. Мне иногда кажется, что количество всяческих возможных прагм обратнопропорционально качеству компилятора..
Возможно, эта прагма заменяется ключом компилятора?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, abdab, Вы писали:
A>У нас есть проект, написанный на C, работает на IAR и на студии, причем, например, студия поддерживает не все возможности C99, но там несложно обойти. Теперь встал вопрос собрать под Arm compiler, тот вообще хз чего поддерживает, например, ругается на union без имени, вот и хотелось бы узнать в стандарте С89 это возможно или нет, чтобы на будущее писать кроскомпиляторный код на чистом ANSI C насколько это возможно.
Ну узнали вы и что дальше? Вам надо, чтобы на стандарте работало или на конкретных компиляторах? Про конкретный компилятор, заметьте, вы уже узнали, что это не поддерживается.
И да, union без имени в C89 не допускается.
A>Слышал что Кернигана и Ричи можно использовать в качестве стандарта ANSI C, правда ли это?
В K&R C очень много чего нет — например, прототипов функций. На таком языке невозможно программировать.
Здравствуйте, Pzz, Вы писали:
Pzz>Ну узнали вы и что дальше? Вам надо, чтобы на стандарте работало или на конкретных компиляторах? Про конкретный компилятор, заметьте, вы уже узнали, что это не поддерживается.
Конечно на стандарте, потому что С89 поддерживает любой компилятор С, просто хотелось иметь под рукой этот стандарт, чтобы если писать код на С и предполагать, что в будущем он может собираться где угодно, то писать на ANSI С. Например, Lua написан на ANSI C и с его сборкой нигде никаких проблем не возникало. Хочется того же и для своего кода
L_L>вот, драфт. L_L>не думаю, что что-то лучше можно (да и нужно ли?) найти L_L>http://clc-wiki.net/wiki/The_C_Standard
Draft, ANSI-based, это далеко не самое лучшее. даже из того, что на халяву
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Здравствуйте, abdab, Вы писали:
A>Кто-нибудь знает где его можно скачать (лучше в pdf)? Никак найти не могу, нужен именно ANSI C, который C89.
бесплатно или за деньги?
Здравствуйте, мыщъх, Вы писали:
М>Здравствуйте, abdab, Вы писали:
A>>Кто-нибудь знает где его можно скачать (лучше в pdf)? Никак найти не могу, нужен именно ANSI C, который C89. М>бесплатно или за деньги?
L_L>>могу ошибаться, но, кажется, нету его в пдф и вряд ли он есть где-то собранный в один документ. а зачем вам такое старье, чем 99 и позже не подходят?
A>У нас есть проект, написанный на C, работает на IAR и на студии, причем, например, студия поддерживает не все возможности C99, но там несложно обойти. Теперь встал вопрос собрать под Arm compiler, тот вообще хз чего поддерживает, например, ругается на union без имени, вот и хотелось бы узнать в стандарте С89 это возможно или нет, чтобы на будущее писать кроскомпиляторный код на чистом ANSI C насколько это возможно.
В ANSI C 89-го года нету анонимных юнионов. Это плюсовская фича.
A>Слышал что Кернигана и Ричи можно использовать в качестве стандарта ANSI C, правда ли это?
Да, но только ты немного неправильно сказал. Эти два человека написали две книги по языку Си. Первая вышла в 78-ом году, вторая — в 88-ом. Язык описанный в первой книге называют K & R C. Язык во второй книге — это и есть ANSI C. Там даже на обложке (в американской книге) стоит штамп красного цвета "ANSI C." Именно эта книга тебе и нужна.
A>>У нас есть проект, написанный на C, работает на IAR и на студии, причем, например, студия поддерживает не все возможности C99, но там несложно обойти. Теперь встал вопрос собрать под Arm compiler, тот вообще хз чего поддерживает, например, ругается на union без имени, вот и хотелось бы узнать в стандарте С89 это возможно или нет, чтобы на будущее писать кроскомпиляторный код на чистом ANSI C насколько это возможно.
Pzz>Ну узнали вы и что дальше? Вам надо, чтобы на стандарте работало или на конкретных компиляторах? Про конкретный компилятор, заметьте, вы уже узнали, что это не поддерживается.
Pzz>И да, union без имени в C89 не допускается.
+1.
A>>Слышал что Кернигана и Ричи можно использовать в качестве стандарта ANSI C, правда ли это?
Pzz>В K&R C очень много чего нет — например, прототипов функций. На таком языке невозможно программировать.
Человек ошибся. Он имел в виду вторую книгу (88-го года выпуска) Кернигана и Ритчи которая и описывает ANSI C.
Тебе нужна вот эта замечательная книга. Она очень лаконичная (меньше 300 страниц), там описан ANSI C самими авторами и имеется нужный тебе стандарт, но его можно будет даже и не читать. Очень рекомендую купить ее даже если знаешь Си.
P.S. Посмотри на количество звездочек и ревьюеров.
P.P.S. Имеется русский перевод.