Posix C/C++
От: tasko  
Дата: 24.01.11 17:10
Оценка:
Ряд глупых вопросов

— правильно понимаю что под posix C понимается cтандартная библиотека Posix (ISO/IEC 9945:2003) , т.е. регламентирование вызовов api, ipc и тд и тп ?
— что понимается под posix С++ ? (программа с классами и шаблонами использующая стандартную библиотеку Posix ?)
— глобальные отличие ANSI C от Posix С можно в двух словах (правильно понимаю что ansi — семантика языка, а posix — надстройка над семантикой ввиде api и др.?)

Заранее спасибо.
Re: Posix C/C++
От: dilmah США  
Дата: 24.01.11 17:15
Оценка: 2 (1)
T>- правильно понимаю что под posix C понимается cтандартная библиотека Posix (ISO/IEC 9945:2003) , т.е. регламентирование вызовов api, ipc и тд и тп ?

ну видимо да, семантика всяких mmap и т.п.

правда тут есть тонкая грань. В posix C ты можешь написать что-то вроде popen("awk '{ print $1 }'") и таким образом ты затронешь уже спецификацию шелла и утилит.

T>- глобальные отличие ANSI C от Posix С можно в двух словах (правильно понимаю что ansi — семантика языка, а posix — надстройка над семантикой ввиде api и др.?)


полагаю так
Re: Posix C/C++
От: MasterZiv СССР  
Дата: 24.01.11 19:00
Оценка:
On 24.01.2011 20:10, tasko wrote:

POSIX -- это общий стандартный API (и ABI наверное) для приложений,
реализуемый в разных операционных системах. Интерфейс приложения с операционой
системой. Сам API как бы выражен на языке С, но на самом деле ни к какому
языку он отношения не имеет, ни к С, ни к С++. Максимум что С -- это
язык его реализации и спецификации.

Так что ничего кроме первого ты не понимаешь правильно.
Posted via RSDN NNTP Server 2.1 beta
Re: Posix C/C++
От: npak Россия  
Дата: 24.01.11 20:09
Оценка: 5 (3)
Здравствуйте, tasko, Вы писали:

T>Ряд глупых вопросов


T>- правильно понимаю что под posix C понимается cтандартная библиотека Posix (ISO/IEC 9945:2003) , т.е. регламентирование вызовов api, ipc и тд и тп ?

C POSIX Library — набор API языка С для взаимодействия приложения и операционной системы. Именно,

Definitions for system service functions and subroutines, language-specific system services for the C programming language, function issues, including portability, error handling, and error recovery, are included in the System Interfaces volume of POSIX.1-2008.


T>- что понимается под posix С++ ? (программа с классами и шаблонами использующая стандартную библиотеку Posix ?)

Нет такого. "Под крылом" Redhat tсть POSIX C++ Study Group -- товарищи обсуждают, нужны ли языку С++ стандартные интерфейсы с POSIX-совместимыми ОС. Сами интерфейсы отсутствуют даже в проекте.

T>- глобальные отличие ANSI C от Posix С можно в двух словах (правильно понимаю что ansi — семантика языка, а posix — надстройка над семантикой ввиде api и др.?)


ANSI C — это устаревший термин. Сейчас язык называется ISO C, последняя версия С99. Стандарт определяет семантику языка и набор стандартных интерфейсов ("стандартная библиотека языка С"):
<assert.h>
<complex.h>
<ctype.h>
<errno.h>
<fenv.h>
<float.h>
<inttypes.h>
<iso646.h>
<limits.h>
<locale.h>
<math.h>
<setjmp.h>
<signal.h>
<stdarg.h>
<stdbool.h>
<stddef.h>
<stdint.h>
<stdio.h>
<stdlib.h>
<string.h>
<tgmath.h>
<time.h>
<wchar.h>
<wctype.h>

C POSIX library включает С99 и содержит дополнительные заголовки. Вместе с расширениями и устаревшими символами содержит 1191 интерфейс

T>Заранее спасибо.

Пожалуйста.
Re[2]: Posix C/C++
От: tasko  
Дата: 24.01.11 20:53
Оценка:
dilmah, MasterZiv, npak спасибо за разъяснения.

> последняя версия С99

думал что последним считается от 2003 года с tr1 , да не суть
Re[3]: Posix C/C++
От: jazzer Россия Skype: enerjazzer
Дата: 24.01.11 23:25
Оценка: +2
Здравствуйте, tasko, Вы писали:

T>dilmah, MasterZiv, npak спасибо за разъяснения.


>> последняя версия С99

T>думал что последним считается от 2003 года с tr1 , да не суть

Ты не путаешь с С++?
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re: Posix C/C++
От: shasa  
Дата: 26.01.11 15:38
Оценка:
Здравствуйте, tasko, Вы писали:
T>Ряд глупых вопросов
...

Разъясните пожалуйста значение термина семантика языка

T>Заранее спасибо.
Re[2]: Posix C/C++
От: npak Россия  
Дата: 27.01.11 06:50
Оценка: +1
Здравствуйте, shasa, Вы писали:

S>Здравствуйте, tasko, Вы писали:

T>>Ряд глупых вопросов
S>...

S>Разъясните пожалуйста значение термина семантика языка


T>>Заранее спасибо.


Семантика языка бывает статическая и динамическая. Статическая семантика накладывает ограничения на синтаксически корректные программы. Например, грамматика языка С допускает такой декларатор:
unsigned short void x;

но в стандарте есть семантическое ограничение (6.7.2.) на то, какие деклараторы допустимы в программе. Другой пример статической семантики — ограничения на декларацию структуры:

A structure or union shall not contain a member with incomplete or function type (hence,
a structure shall not contain an instance of itself, but may contain a pointer to an instance
of itself),


Статическая семантика обычно используется в парсере/семантическом анализаторе.

Динамическая семантика определяет, как должны исполняться конструкции языка. Например:

The statement
[b]for[b] ( clause-1 ; expression-2 ; expression-3 ) statement
behaves as follows: The expression expression-2 is the controlling expression that is evaluated before each execution of the loop body. The expression expression-3 is evaluated as a void expression after each execution of the loop body. If clause-1 is a declaration, the scope of any variables it declares is the remainder of the declaration and the entire loop, including the other two expressions; it is reached in the order of execution before the first evaluation of the controlling expression. If clause-1 is an expression, it is evaluated as a void expression before the first evaluation of the controlling expression.


Динамическая семантика требуется разработчикам оптимизаторов и кодогенератора.
Re[2]: Posix C/C++
От: MasterZiv СССР  
Дата: 27.01.11 07:04
Оценка: +2
On 26.01.2011 18:38, shasa wrote:

> Разъясните пожалуйста значение термина *семантика языка*


Смысловое значение записанных операторов языка.
Posted via RSDN NNTP Server 2.1 beta
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.