ΜС ++ - ΜC++

мкС ++, также называемый uС ++, это язык программирования, расширение C ++ предназначен для параллельное программирование. Среди других функций он добавляет сопрограммы, задачи, и мониторы, и расширяет существующие языковые конструкции для интеграции с ними.[1] Его компилятор с именем u ++, действует как переводчик источника в источник ориентированный на C ++.

μC ++ является частью μSystem проект, в Университет Ватерлоо, Онтарио, Канада, крупномасштабный проект под руководством профессора Питера Бура с целью создания «системы программирования с высокой степенью параллелизма с разделяемой памятью».[2]

Он используется в курсе CS 343 в Университете Ватерлоо.[3]

Каждая программа μC ++ должна включать uС ++. h Заголовочный файл перед любым другим заголовком, хотя в более поздних версиях это не обязательно. uC ++ теперь имеет открытый исходный код и доступен на GitHub.[4]

Ключевые слова

Следующие ключевые слова реализованы в uC ++ для обеспечения расширенной функциональности реализаций классов, возможностей обработки исключений и планирования:

  • _Accept - включает внешнее планирование в мониторах. _Accept позволяет вызывающему абоненту получать взаимное исключение по методу в мониторе
  • _At - вызывает нелокальное исключение в аргументе
  • _CatchResume - перехватывает исключение, но следует правилам возобновления вызывающего абонента
  • _Monitor - расширение класса C ++, которое позволяет классу также работать как монитор
  • _Cormonitor - расширение класса C ++, которое позволяет использовать класс как в качестве монитора, так и в качестве сопрограммы (с использованием приостановки и возобновления, а также взаимного исключения)
  • _Coroutine - расширение класса C ++, которое обеспечивает функциональность на основе сопрограмм
  • _Enable - включает нелокальную обработку исключений в задаче
  • _Disable - отключает нелокальную обработку исключений в задаче (по умолчанию)
  • _Мероприятие
  • _Mutex - включает взаимное исключение для члена класса
  • _Nomutex - отключает взаимное исключение для члена класса
  • _Select - разрешает блокировку при ожидании доступа в будущее (Future_ISM , Future_ESM )
  • _Продолжить
  • _Task - расширение класса C ++ с собственным стеком и управлением потоками; взаимоисключающие по умолчанию
  • _Throw - позволяет генерировать нелокальные исключения
  • _When - условие аргумента для оператора принятия, аналогичное условию

Рекомендации

  1. ^ Дони, Кристоф; Кнудсен, Йорген Линдсков (4 октября 2006 г.). Дополнительные темы в методах обработки исключений. Springer. п.14. ISBN  3540374450.
  2. ^ μSystem Проект
  3. ^ https://www.student.cs.uwaterloo.ca/~cs343/FAQ.shtml
  4. ^ https://github.com/pabuhr/uCPP

внешняя ссылка

Отзывы