Pragma что это за программа

Директивы Pragma и __pragma _Pragma ключевые слова

Директивы Pragma указывают функции компилятора, зависящие от компьютера или операционной системы. Строка, начинающаяся с #pragma указания директивы pragma . Ключевое слово, определенное __pragma корпорацией Майкрософт, позволяет кодировать pragma директивы в определениях макросов. Стандартный _Pragma оператор препроцессора, представленный в C99 и принятый C++11, аналогичен.

Синтаксис

#pragma Строка токена
__pragma( Строка ) токена два ведущих символа подчеркивания — расширение, зависящее от Майкрософт
_Pragma( строковый литерал ) C99

Комментарии

Каждая реализация C и C++ поддерживает некоторые возможности, уникальные для хост-компьютера или операционной системы. Некоторые программы, например, должны осуществлять точный контроль над расположением данных в памяти или управлять способом получения определенных функций. #pragma Директивы позволяют каждому компилятору предлагать функции, зависящие от компьютера и операционной системы, сохраняя при этом общую совместимость с языками C и C++.

C++ Урок 77. pragma

Директивы Pragma зависят от компьютера или операционной системы по определению и обычно отличаются для каждого компилятора. A pragma можно использовать в условной директиве для предоставления новых функциональных возможностей препроцессора. Или используйте его для предоставления компилятору сведений, определенных реализацией.

Строка токена представляет собой ряд символов, представляющих определенную инструкцию и аргументы компилятора, если таковые есть. Знак номера ( # ) должен быть первым символом, не содержащим пробел, в строке, содержащей символ pragma. Пробелы могут разделять знак номера и слово «pragma». После этого #pragma напишите любой текст, который переводчик может проанализировать как маркеры предварительной обработки. Аргумент, подлежащий #pragma расширению макроса.

Строковый литерал — это входные данные _Pragma . Внешние кавычки и начальные или конечные пробелы удаляются. » заменяется » на и \ заменяется на .

Компилятор выдает предупреждение при обнаружении pragma того, что он не распознает и продолжает компиляцию.

Компиляторы Microsoft C и C++ распознают следующие pragma директивы:

1 Поддерживается только компилятором C++.

Директивы Pragma и параметры компилятора

Некоторые pragma директивы предоставляют те же функции, что и параметры компилятора. pragma Когда достигается в исходном коде, он переопределяет поведение, заданное параметром компилятора. Например, если вы указали /Zp8 , можно переопределить этот параметр компилятора для определенных разделов кода с помощью pack :

cl /Zp8 some_file.cpp
// some_file.cpp — packing is 8 // . #pragma pack(push, 1) — packing is now 1 // . #pragma pack(pop) — packing is 8 again // .

Ключевое слово __pragma .

Компилятор также поддерживает ключевое слово, определенное __pragma корпорацией Майкрософт, которое имеет те же функции, что и директива #pragma . Разница заключается в том, что ключевое __pragma слово является пригодным для использования встроенным в определении макроса. The #pragma directive isn’t usable in a macro definition, because the compiler interprets the number sign character (‘#’) in the directive as the stringizing operator (#).

Многофайловый проект | Защита от повторного включения | Изучение С++ для начинающих. Урок #140

В следующем примере кода показано, как __pragma ключевое слово можно использовать в макросе. Этот код фрагментируется из заголовка mfcdual.h в примере ACDUAL в разделе «Примеры поддержки COM компилятора».

#define CATCH_ALL_DUAL CATCH(COleException, e) < _hr = e->m_sc; > AND_CATCH_ALL(e) < __pragma(warning(push)) __pragma(warning(disable:6246)) /*disable _ctlState prefast warning*/ AFX_MANAGE_STATE(pThis->m_pModuleState); __pragma(warning(pop)) _hr = DualHandleException(_riidSource, e); > END_CATCH_ALL return _hr;

Оператор _Pragma предварительной обработки

_Pragma похож на ключевое слово, определенное __pragma корпорацией Майкрософт. Он был введен в стандарт C в C99 и стандарт C++ в C++11.

Он доступен в C только при указании /std:c11 или /std:c17 параметра. Для C++ он доступен во всех /std режимах, включая значение по умолчанию.

В отличие от #pragma этого, _Pragma можно поместить pragma директивы в определение макроса. Строковый литерал должен быть тем, что в противном случае следует поместить после инструкции #pragma . Пример:

#pragma message(«the #pragma way») _Pragma («message( «the _Pragma way»)»)

Кавычки и косые черты должны быть экранированы, как показано выше. Не распознаваемая pragma строка игнорируется.

Читайте также:
Totalcmd что это за программа и нужна ли она

В следующем примере кода показано, как _Pragma ключевое слово может использоваться в макросе assert-like. Он создает директиву pragma , которая подавляет предупреждение, когда выражение условия будет константой.

Определение макроса использует do . while(0) идиом для макросов с несколькими операторами, чтобы его можно было использовать так, как если бы это было одно утверждение. Дополнительные сведения см. в статье О многострочный макрос C в Stack Overflow. Инструкция _Pragma в примере применяется только к следующей строке кода.

// Compile with /W4 #include #include #define MY_ASSERT(BOOL_EXPRESSION) do < _Pragma(«warning(suppress: 4127)») /* C4127 conditional expression is constant */ if (!(BOOL_EXPRESSION)) < printf(«MY_ASSERT FAILED: «» #BOOL_EXPRESSION «» on %s(%d)», __FILE__, __LINE__); exit(-1); > > while (0) int main()

Источник: learn.microsoft.com

PRAGMAтичный переводчик

Проблема языкового барьера стояла перед людьми во все времена. Во времена давно минувшие главным средством преодоления его были словари. В наши дни на смену им приходит всё большее число систем машинного перевода. С одной из них мы познакомимся сегодня.

Анамнез
Как вы знаете, качество машинного перевода даже у таких монстров, как PROMT, оставляет желать лучшего. А значит польза от установки и содержания на винчестере громоздких пакетов – дело весьма сомнительное. К тому же, при работе с такими программами каждый раз приходится копировать текст в окно программы-переводчика, а потом — возвращать на место результат.

Описанных недостатков нет у программы, которая сегодня попала на наш операционный Рабочий стол. Называется эта программа Pragma. Точнее – Pragma 5.x. Как можно догадаться, глядя на номер версии, это далеко не новая разработка. Действительно, детищу украинских программистов из «Трайдент Софтвер» уже почти восемь лет, однако предыдущие версии не привлекали к себе особого внимания.

Нет, внимание мы на них, безусловно, обращали – хотя бы в силу своего природного любопытства, однако ничего достойного полноценного обзора в них не увидели – слишком уж узкой была сфера применения (поддерживался перевод лишь в нескольких распространённых программах). И вот недавно увидела свет новая, пятая по счёту, версия Pragma, в которой разработчики заметно изменили подход к функциям переводчика, сделав возможным его использование совместно с гораздо большим числом популярных программам. Впрочем, обо всём по порядку.

Беглый осмотр
Как уже было отмечено, принцип действия Pragma отличается от переводчиков типа PROMT. Более того, Pragma не похожа и на электронные словари вроде Lingvo. Фактически, у неё даже нет окна, в которое можно ввести текст для перевода. А если нет окна, то что же она делает? Правильно – пользуется окнами других программ.

Pragma просто берёт текст из активного окна, переводит его и возвращает туда, откуда взяла. В переведённом виде. Выглядит всё это как интересный фокус, хотя на самом деле – это просто умелое обращение с функциями WinAPI.

Собственно перевод осуществляется при помощи словарей, которые необходимо скачать (в дистрибутив не входят!) с сайта программы. Всего словарей семь – для русского, английского, французского, немецкого, украинского, польского и латышского языков. Такая модульная структура положительным образом сказывается на размерах дистрибутива.

К примеру, русский словарь (его необходимо скачать обязательно!) весит 5 Мбайт, а английский – всего 2 Мбайт. Соответственно, для получения англо-русской версии переводчика придётся загрузить всего около 10 Мбайт (в сумме с основным дистрибутивом). Согласитесь, на фоне PROMT и Lingvo это сущие крохи.
Увы, всё это счастье далеко не бесплатно. За версию Pragma 5.2 (последняя циферка означает количество словарей) – скажем, за упомянутую уже англо-русскую – придётся выложить 3100 рублей, что на 200 рублей больше стоимости PROMT Standard 8.0, включающего в себя шесть языков перевода. Версия Pragma с аналогичным числом словарей обойдётся в целых 6,5 тыс. рублей. Что же, за удобство приходится платить.

Скальпель!
Но это всё – теория. Теперь давайте копнём поглубже и посмотрим, как же строится работа с Pragma на практике.
После установки программы в трее появляется значок, при щелчке на котором открывается панель перевода (см. рисунок). В этом окне вы можете выбрать языки и примерную тематику текста. После этого достаточно нажать кнопку «Перевод текста» – и в самом верхнем окне на вашем экране он будет переведён. При условии, конечно, что окно это «знакомо» Pragma.

Читайте также:
Sensor hub что это за программа на Андроид

А знает она не так уж и мало: Microsoft Word всех версий (97/2000/XP/2003/2007), OpenOffice версии 1.1 и выше, StarOffice версии 6.1 и выше, приложения, использующие движок Internet Explorer (в том числе — программа просмотра файлов справки CHM), приложения со стандартными полями редактирования текста (WordPad, Блокнот и др.). Даже если программа не поддерживается Pragma, есть возможность перевести текст, скопировав его в буфер обмена.
Перевод осуществляется довольно быстро (одна страница текста в Word – буквально за пару секунд), после чего, как и было обещано разработчиками, текст возвращается на место.

Тампон!
Самый главный вопрос, который волнует пользователей систем машинного перевода – качество. Сказать можно одно: у Pragma оно не лучше и не хуже, чем, скажем, у PROMT. Какие-то фразы лучше переводит один, какие-то – другой. На нашем сайте вы можете найти образцы, полученные в ходе тестирования Pragma и самостоятельно сделать для себя выводы.

Эпикриз
Несомненно, Pragma имеет право на жизнь. Более того, на жизнь на компьютерах многих пользователей. Однако какой именно категории пользователей – сказать трудно. Наверное, каждый потенциальный покупатель Pragma должен для начала задуматься, что ему важнее: малый вес и удобство использования или что-то иное…

Источник: petrochenko.ru

Pragma

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

Программа позволяет выполнять перевод непосредственно в окне активного приложения или в отдельном окне быстрого перевода. Pragma может переводить текстовые документы, интернет страницы, почтовые сообщения, справки и другую текстовую информацию.

Малый размер установочного пакета переводчика обуславливается тем, что в него не включены словари для перевода. Поэтому после установки переводчика необходимо загрузить через программу необходимые для перевода словари.

Скриншоты:

Характеристики программы
Лицензия: Условно бесплатная
Системы: Windows 7, Vista, XP
Русский язык: Да
Разработчик: Trident Software
Обновлено: 12.10.2016

Источник: monobit.ru

переводчик Pragma 6.0.101.71

Ядро перевода переводчика Pragma использует многоязычную технологию нового поколения, которая комбинирует лучшие идеи из старого двунаправленного подхода и нового многонаправленного.

Pragma имеет модульную организацию языков. Словари, грамматики, орфография и вспомогательные файлы упакованы в отдельные модули для каждого языка. Этот метод позволяет легко манипулировать программной конфигурацией для различных практических потребностей. Например, если вам нужен англо-русский переводчик, вы берете три блока — базовый, английский и русский модули.

Все комбинации направлений перевода взаимозаменяемы, кроме англо-русской пары. Эта пара — главный мост между романо-германской и словянской группами. Так украино-английский перевод выполняется частично напрямую, но в большей части по русско-английскому направлению. Такой подход позволяет уменьшить количество связей для перевода между различными языками.

Главная проблема перевода — многозначность слов — решена двумя способами. Прежде всего — специальная маркировка слов по тематической направленности (около сотни тематик). Во-вторых — объединение слов в фразы, которые имеют высший приоритет во время перевода.

Нет никаких отдельных тематических словарей. В главном переводном словаре отмечены некоторые многозначные слова. Имеется только дополнительный (необязательный) словарь специальной терминологии, где собраны слова из соответствующих областей, как например медицина, химия, математика, нефтегазовая, и т.п. (всего до 50 тематик).

Кроме всего этого пользователь имеет возможность вести словарь пользователя, который имеет самый высокий приоритет.

Pragma 6.x даже не встраивается в чужие приложения. Она начинает взаимодействовать с активным приложением только после щелчка мышки по иконке монитора [#]. Пользователь может настроить программу под свои условия и спрятать промежуточные диалоговые окна. Это позволит переводить документы по одному щелчку мыши.

Читайте также:
Программа запуск activity что это

Pragma 5.x и Pragma 6.x не имеют никакой отдельной программы. Программы только расширяют функциональность существующих известных приложений, добавляя в них функцию перевода. Pragma Монитор это инструмент для управления программой, и он доступен через свою иконку [#] расположенную рядом с системными часами.

Pragma 5/6.x имеет модульную структуру:

* Базовый модуль (обязательный)
* Английский модуль
* Немецкий модуль
* Французский модуль
* Латышский модуль
* Русский модуль
* Украинский модуль
* Словарь спецтерминов
* Польский модуль
* Казахский модуль (только в Pragma 6.x)

Имя пакета Pragma зависит от включаемых языковых модулей. Последняя цифра имени — количество языков. Например, Pragma 6.2 — включает два языка. Это может быть англо-русский, русско-украинский или любая другая пара. Pragma 6.3 — включает три языковых модуля, и так далее.

Наличие словарей спецтерминов отображается в названии программы в виде плюса. Pragma 6.x+ или Pragma 6.x Plus.

Программа подгружает все требуемые словари автоматически.

Что нового в Pragma 6.x

Главным усовершенствованием Pragma 6.x является перевод продукта в кодировку Юникод. Благодаря этому, ядро переводчика теперь может работать с расширенными алфавитами, что дало возможность разработать казахский модуль перевода. Это решение привело также к повышению скорости переводчика.

Недостатком, хотя и незначительным, является увеличение объема языковых модулей примерно в полтора раза. Также, теперь не поддерживаются Windows 95/98/Me. Для этих ОС необходимо использовать программу Pragma 5.x.

Некоторые изменения заметны и в интерфейсной части программы. Pragma 6.x поддерживает все последние версии офисных и Интернет приложений.

Pragma 6.x начиная с редакции 6.0.101.1 поддерживает 64-разрядные приложения.

Pragma распространяются как shareware и имеют 2х-недельный ознакомительный период.

Последние комментарии:
123 16-11-2016 05:26
а есть англ на казахский?
gavhar 16-08-2016 20:34
проста класс
gavhar 16-08-2016 20:30
юлия 24-02-2016 15:32
юс 31-01-2016 22:46

Я пользуюсь Вашим словарём уже 8 лет! Он был у меня на икс пи, на висте и на семёрке. Супер, спасибо большое! Я просил Вас разработать такой переводчик на виндовс 6.1 (когда это было актуально), чего-то Вы не захотели. Ну 6.1 уже кануло в лету, но почему Вы на дроиде не хотите разработать.

Толковый транслятор, я бы хотел иметь себе такой на планшетке.

Olga 10-01-2016 12:27
Уже час качает. когда будет конец , не знаю. Видимо, блокируется антивирусом.
mumin 03-01-2016 14:43
Мне очень нужно программа переводчик Прагма
Буба 20-05-2015 11:58

Андрей 16-10-2014 20:16
Всё-таки какойто червячёк имеется, анетивирус блокирует загрузку.

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

анжела 07-05-2015 09:04
нечего интересного
К12 14-04-2015 11:37

Каким антивирусом блокируется программа?
Я проверял архив на virustotal — ни один из 57-ми антивирусов ничего подозрительного не нашел!

Источник: programki.net

Pragma 6.0.101.71

В левом меню вы можете скачать Pragma 6.0.101.71 бесплатно, без регистрации и ввода смс. Ссылка на скачивание прямая, поэтому вам не придется ожидать, загрузка Pragma начнется сразу же автоматически, без перехода на другую страницу. Размер программы составляет 4.88 Мб

Pragma — система машинного перевода. Pragma поддерживает восемь языков, в том числе английский, русский, украинский, немецкий и др. Перевод возможен между любой парой из этих языков. Число возможных направлений перевода составляет 56.

Выполняет перевод непосредственно в окне активного приложения или в отдельном окне быстрого перевода. С помощью программы можно переводить текстовую информацию, представленную в виде документов MS Word, Интернет страниц, почтовых сообщений, справок, а также содержимое различных текстовых окон. За счет автоматизации многих функций Pragma очень проста в использовании.

Pragma имеет незначительный размер, поскольку не включает переводные словари. После установки программы необходимо выбрать режим обновления и загрузить необходимые модули словарей.

Источник: 4see.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru