Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.138.108.183] |
|
Страницы: (29) « Первая ... 23 24 [25] 26 27 ... Последняя » ( Перейти к последнему сообщению ) |
Сообщ.
#361
,
|
|
|
Цитата Flex Ferrum @ Учитывая, что POSIX System Interfaces - это лишь описание API системы, то выводы из этого высказывания я делаю соответствующие. Какой на хрен "системы"? Ты сам всё сказал. А я добавлю -- первичный, организующий для всех остальных языков программирования тот API, которым эти языки пользуются (выше приведены примеры для Fortran и Ada, причём, в именах этих стандартов есть указание на то, что это -- bindings to POSIX 1003.1, т.е., и на System Interfaces включительно). Это -- для систем, относящихся ко множеству POSIX-совместимых. Иного просто нет, да он и на хер никому не вбился. Ибо и сущетвующий удобен. Если, по его описанию это -- что-то отличное от С в части синтаксиса, то... Цитата Flex Ferrum @ Еще раз: я не могу сравнивать язык программирования (клавиатуру - т. е. средство управление) с программным интерфейсом (компьютером - т. е. тем, чем управляют). Если ты можешь - принимай поздравления. Кланяясь. Спасибо... Спасибо... Всё. С меня довольно. DIXI. |
Сообщ.
#362
,
|
|
|
Цитата the_Shadow @ Какой на хрен "системы"? Той, которая имеется в виду под словом System в заглавии упоминаемого тобою раздела System Interface. Добавлено А именно, это некая Цитата IEEE Std 1003.1-2001 defines a standard operating system interface and environment, including a command interpreter (or "shell"), and common utility programs to support applications portability at the source code level. It is intended to be used by both applications developers and system implementors. Добавлено Цитата the_Shadow @ А я добавлю -- первичный, организующий для всех остальных языков программирования тот API, которым эти языки пользуются (выше приведены примеры для Fortran и Ada, причём, в именах этих стандартов есть указание на то, что это -- bindings to POSIX 1003.1, т.е., и на System Interfaces включительно). Это -- для систем, относящихся ко множеству POSIX-совместимых. Иного просто нет, да он и на хер никому не вбился. Ибо и сущетвующий удобен. Если, по его описанию это -- что-то отличное от С в части синтаксиса, то... С трудом понимаю, что ты хотел этой фразой сказать. |
Сообщ.
#363
,
|
|
|
Цитата Flex Ferrum @ С трудом понимаю, что ты хотел этой фразой сказать. ЗЗ. Ээээ... "Забей, забудь". |
Сообщ.
#364
,
|
|
|
Цитата the_Shadow @ Только почему-то следов этой корректировки никому не видно.описание fflush() (как уже рассматривавшийся выше единичный пример) дано изначально в POSIX, позже оно откорректировано (я уже объяснял почему так сделано, так же выше) в ISO. Цитата Никакого упоминания про POSIX.7.19.5.2 The fflush function Synopsis #include <stdio.h> int fflush(FILE *stream); Description If stream points to an output stream or an update stream in which the most recent operation was not input, the fflush function causes any unwritten data for that stream to be delivered to the host environment to be written to the file; otherwise, the behavior is undefined. If stream is a null pointer, the fflush function performs this flushing action on all streams for which the behavior is defined above. Returns The fflush function sets the error indicator for the stream and returns EOF if a write error occurs, otherwise it returns zero. Forward references: the fopen function (7.19.5.3). Зато обратных примеров полно. Открываем в POSIX описание, например, printf и видим любопытную запись: Цитата Issue 5 Aligned with ISO/IEC 9899:1990/Amendment 1:1995 (E). Specifically, the l (ell) qualifier can now be used with c and s conversion specifiers. И что он доказывает? Ну видно, что написан он латиницей. А у меня в Microsoft Platform SDK February 2003 она написана так: #ifdef _MT int __cdecl fflush ( REG1 FILE *stream ) { int rc; /* if stream is NULL, flush all streams */ if ( stream == NULL ) return(flsall(FFLUSHNULL)); _lock_str(stream); __try { rc = _fflush_lk(stream); } __finally { _unlock_str(stream); } return(rc); } int __cdecl _fflush_lk ( REG1 FILE *str ) { #else /* _MT */ int __cdecl fflush ( REG1 FILE *str ) { /* if stream is NULL, flush all streams */ if ( str == NULL ) { return(flsall(FFLUSHNULL)); } #endif /* _MT */ if (_flush(str) != 0) { /* _flush failed, don't attempt to commit */ return(EOF); } /* lowio commit to ensure data is written to disk */ if (str->_flag & _IOCOMMIT) { return (_commit(_fileno(str)) ? EOF : 0); } return 0; } int __cdecl _flush ( FILE *str ) { REG1 FILE *stream; REG2 int rc = 0; /* assume good return */ REG3 int nchar; /* Init pointer to stream */ stream = str; if ((stream->_flag & (_IOREAD | _IOWRT)) == _IOWRT && bigbuf(stream) && (nchar = (int)(stream->_ptr - stream->_base)) > 0) { if ( _write(_fileno(stream), stream->_base, nchar) == nchar ) { /* if this is a read/write file, clear _IOWRT so that * next operation can be a read */ if ( _IORW & stream->_flag ) stream->_flag &= ~_IOWRT; } else { stream->_flag |= _IOERR; rc = EOF; } } stream->_ptr = stream->_base; stream->_cnt = 0; return(rc); } |
Сообщ.
#365
,
|
|
|
Цитата trainer @ Особенно забавно там выглядят __try и __finally Ну явно C. Угумс. Особенно если взглянуть на этот пункт стандарта POSIX: Цитата For the C programming language, shall not exceed any minimum implementation limit defined in the ISO C standard, unless the System Interfaces volume of IEEE Std 1003.1-2001 specifies a higher minimum implementation limit то можно увидить, что и POSIX-conformace тоже не выдерживается. |
Сообщ.
#366
,
|
|
|
2 BugHunter.
О Symbian. Пара слов. Итак, то, что оно написано на С++ не вызывает ни каких эмоций. Написано и написано. Замечу, что я ни где не рассматривал ограничение на то, на чём оно написано. А вот ограничение на "нижний уровень", уровень системообразования, довольно серьёзный -- оно обязано реализовать ясно и чётко описанные вещи -- хочется этого кому-то или нет. Однако, я, не зная на чём там написана PalmOS версии 5.4.2, дал ссылку на выжимку из документации по PalmOS, где перечислены вызовы С-функций, описанных в POSIX. Утверждение о POSIX-совместимости Symbian, меня заинтересовало. Так, как я с этой осью не знаком, решил пол-часика по-гуглить. Собственно, найден ряд PDF'ов, сходящихся к тому, что написано для v70. Здесь то, что можно найти в простом html, без PDF'ов... Итак: http://www.symbian.com/developer/techlib/v70sdocs/doc_source/DevGuides/cpp/Base/CStandardLibrary/DesignSTDLIB.html#stdlib%2edesign -- дизайн и реализация. Документ, думаю, для Symbian'овца интересный. Да и так... Почитать. Явно оговорено то, что: Раздел DESIGN GOALS: Цитата - to address the porting requirements of C software engines to Symbian OS. - to provide an ANSI C library with associated POSIX system calls. - to support both pure C programs and mixed C/C++ programs. Замечаем -- library оно обеспечивает ANSI (т.е., национального уровня), а вот POSIX system calls -- звиняйте. Уже хорошо нам знакомое. В прочем, не всем. Symbian'овцы чётко оговорили то, что они реализуют -> http://www.symbian.com/developer/techlib/v70sdocs/doc_source/reference/cpp/libc/index.html#ref%2ecpp%2elibc%2eindex Если подумать, а на хер им это надо? Ведь, истинные монстры С++ в пять минут тебе всё, что угодно изваяют, то... думаю, там народ по-умнее сидит. Вот пример того, зачем они сделали свою систему именно так, как сделали -> http://linuxdevices.com/news/NS5822160852.html. Забавно, не так ли? :D:D:D И откуда в Apache C++? :D:D:D Верно -- он там на хер не нужен. Добавлено Однако, "рисовать" свой вариант чего-то Apache-подобного ни кто не стал, просто взяли, да использовали проверенный код. Видимо, да... "Программирование в России" довольно экстримальная вещь... :D:D:D Кстати, BuhgHunter, есть ещё один вывод. Хорошо известно, что для ОСей, очень активно использующих С++, довольно много вирусов -- цинда и Symbian коррелируют с этим утверждением. А как быть с тем, что для PalmOS & Linux весьма и весьма мало вирусов? :D:D:D Здесь напрашивается один вывод... Чем больше проггеры/девелоперы железа озабочены собственными понтами, тем меньше они заняты реализацией (грамотной) стандарта, тем более долбанутый код или система в целом выходят из их рук. Ну, а там -- как кривая ляжет... :D:D:D |
Сообщ.
#367
,
|
|
|
Цитата the_Shadow @ Ну ты, блин, даешь! Там же приведена ссылка на ansi.org. Я тебе давал ссылку на их webstore. Найди там ANSI C. ANSI C - это устоявшееся понятие, под которым обычно понимают ISO/IEC 9899:1989(он же C89) и ничего более. Посмотри, что делает в GCC ключик -ansi. Так получилось, что сначала эта версия стандарта была принята ANSI(естественно, только для США), а затем ISO(для всего мира). Что такого удивительного в том, что американцы заботятся о соответствии американским стандартам? Тебя не удивляет, что они меряют в дюймах, футах, баррелях? Замечаем -- library оно обеспечивает ANSI (т.е., национального уровня), а вот POSIX system calls -- звиняйте. Уже хорошо нам знакомое. В прочем, не всем. |
Сообщ.
#368
,
|
|
|
Цитата trainer @ Что такого удивительного в том, что американцы заботятся о соответствии американским стандартам? Тебя не удивляет, что они меряют в дюймах, футах, баррелях? Меня удивляет несколько другое. Я уже писал об "очерёдности" стандартов. Вначале -- общая разработка в пределах коммитетов POSIX, потом утверждение интернационального стандарта -- ISO/IEC, потом -- национальных (ANSI, к сожалению в России я не знаю такого "института по стандартизации") и, последний уровень -- комм. фирмы со совоими разработками. Видимо, ты хреново прочёл. Твои ссылки читал. А потом -- зачем нужно было в Symbian городить какие-то С-вызовы? Добавлено Тебя не удивляет то, что это сделано? И почему именно С, а не "что-то ещё"? |
Сообщ.
#369
,
|
|
|
Цитата the_Shadow @ Меня - нет.Тебя не удивляет то, что это сделано? Цитата the_Shadow @ Разумная достаточность, традиция. Была бы традиция использовать для этого, например, Ada - было бы на нем. И почему именно С, а не "что-то ещё"? |
Сообщ.
#370
,
|
|
|
Цитата trainer @ Разумная достаточность, традиция. Была бы традиция использовать для этого, например, Ada - было бы на нем. Угу. Что угодно, только не определения POSIX 1003.1 System Interfaces. Ясные и чёткие... "Традиция", "разумная достаточность"... Всё ясно. |
Сообщ.
#371
,
|
|
|
Цитата the_Shadow @ Была бы традиция использования Ada - POSIX базировался бы на Ada. Не устраивал бы ни один существующий язык - придумали бы новый. Угу. Что угодно, только не определения POSIX 1003.1 System Interfaces. Ясные и чёткие... "Традиция", "разумная достаточность"... |
Сообщ.
#372
,
|
|
|
Цитата trainer @ Была бы традиция использования Ada - POSIX базировался бы на Ada. Не устраивал бы ни один существующий язык - придумали бы новый. О! Ещё один спец по сослагательному наклонению! "Было бы" -- не канает! Есть то, что есть (и в части Ada в том числе). А всё остальное -- мыслительный онанизм, мало пересекающийся с реальностью. И до того, как сказки сказывать, лучше с нею (реальностью) познакомиться по-ближе. |
Сообщ.
#373
,
|
|
|
Ну конечно, ты же у нас единственный, имеющий дело с реальностью. Остальные - просто фантазируют.
Правда, реальность у тебя какая-то своеобразная. Присутствующая в основном у тебя в голове. |
Сообщ.
#374
,
|
|
|
trainer, оставь Шада в покое. С ним уже давно все ясно:
Цитата trainer @ Правда, реальность у тебя какая-то своеобразная. Присутствующая в основном у тебя в голове. а потому как соотносятся те или иные стандарты, и существуют ли они вообще - не столько для него принципиально. |
Сообщ.
#375
,
|
|
|
немного оффтопа и о симбиане
книгу можно посмотреть тут правда воды много... ftp://reader:reader707@217.23.124.148/Wiley_Programming_for_the_Series_60_Platform_and_Symbian_OS_(2003).pdf фак ftp://reader:reader707@217.23.124.148/faq.zip правда фак моего собственного изготовления, написанный от руки и по простому. так что звиняйте, что без картинок. |