# translation of kcachegrind.po to
# KDE3 - kcachegrind.pot Russian translation.
# KDE3 - kdesdk/kcachegrind.po Russian translation.
# Copyright (C) 2004, KDE Team.
#
# Nick Shaforostoff This is a purely fictional 'most probable' "
"call stack. It is built up by starting with the current selected function "
"and adds the callers/callees with highest cost at the top and to bottom."
"p> The Cost and Calls columns show the cost used for all "
"calls from the function in the line above. Это чисто фиктивный «наиболее вероятный» стек "
"вызовов. Его построение начинается с текущей выбранной функции, затем выше и "
"ниже неё добавляются вызывающие и вызываемые функции наибольшей стоимости."
"p> В столбцах Стоимость и Вызовы показывается стоимость всех "
"вызовов из функции в строке над данной. This dockable shows in the top part the list of "
"loadable profile dumps in all subdirectories of:
The "
"list is sorted according to the target command profiled in the corresponding "
"dump.
On selecting a profile dump, information for it is shown in the " "bottom area of the dockable:
Эта панель содержит в верхней части список " "загружаемых дампов профиля во всех подкаталогах:
При выборе дампа профиля в нижней части области показывается " "информация о нём:
Make a copy of the current layout.
" msgstr "" "Дублирование текущего представленияСделать копию текущего макета " "окон
" #: kcachegrind/toplevel.cpp:386 msgid "&Remove" msgstr "&Удалить" #: kcachegrind/toplevel.cpp:388 msgid "" "Remove Current LayoutDelete current layout and make the previous " "active.
" msgstr "" "Удалить текущее представлениеУдалить текущий макет и сделать " "активным предыдущий
" #: kcachegrind/toplevel.cpp:393 msgid "&Go to Next" msgstr "Перейти к &следующему" #: kcachegrind/toplevel.cpp:396 msgid "Go to Next Layout" msgstr "Перейти к следующему представлению" #: kcachegrind/toplevel.cpp:400 msgid "&Go to Previous" msgstr "Перейти к &предыдущему" #: kcachegrind/toplevel.cpp:403 msgid "Go to Previous Layout" msgstr "Перейти к предыдущему представлению" #: kcachegrind/toplevel.cpp:407 msgid "&Restore to Default" msgstr "&Восстановить начальное" #: kcachegrind/toplevel.cpp:409 msgid "Restore Layouts to Default" msgstr "Восстановить начальное представление" #: kcachegrind/toplevel.cpp:413 msgid "&Save as Default" msgstr "&Сохранить как начальное" #: kcachegrind/toplevel.cpp:415 msgid "Save Layouts as Default" msgstr "Сохранить представление как начальное" #: kcachegrind/toplevel.cpp:426 msgid "NewOpen new empty KCachegrind window.
" msgstr "СоздатьОткрыть новое окно KCachegrind.
" #: kcachegrind/toplevel.cpp:430 msgid "&Add..." msgstr "&Добавить..." #: kcachegrind/toplevel.cpp:432 msgid "" "Add Profile DataThis opens an additional profile data file in the " "current window.
" msgstr "" "Добавить данные профилированияОткрыть в текущем окне " "дополнительный файл с данными профилирования.
" #: kcachegrind/toplevel.cpp:438 msgctxt "Reload a document" msgid "&Reload" msgstr "&Перегрузить" #: kcachegrind/toplevel.cpp:441 msgid "Reload Profile DataThis loads any new created parts, too.
" msgstr "" "Перезагрузить данные профилированияПри этом будут загружены все " "созданные части.
" #: kcachegrind/toplevel.cpp:446 msgid "&Export Graph" msgstr "&Экспорт графа" #: kcachegrind/toplevel.cpp:449 msgid "" "Export Call GraphGenerates a file with extension .dot for the " "tools of the GraphViz package.
" msgstr "" "Экспортировать график вызововСоздать файл формата .dot, который " "поддерживают программы пакета GraphViz.
" #: kcachegrind/toplevel.cpp:457 msgid "&Force Dump" msgstr "&Принудительная выгрузка" #: kcachegrind/toplevel.cpp:460 msgid "" "Force DumpThis forces a dump for a Callgrind profile run in the " "current directory. This action is checked while KCachegrind looks for the " "dump. If the dump is finished, it automatically reloads the current trace. " "If this is the one from the running Callgrind, the new created trace part " "will be loaded, too.
Force dump creates a file 'callgrind.cmd', and " "checks every second for its existence. A running Callgrind will detect this " "file, dump a trace part, and delete 'callgrind.cmd'. The deletion is " "detected by KCachegrind, and it does a Reload. If there is no " "Callgrind running, press 'Force Dump' again to cancel the dump request. This " "deletes 'callgrind.cmd' itself and stops polling for a new dump.
Note: " "A Callgrind run only detects existence of 'callgrind.cmd' when " "actively running a few milliseconds, i.e. not sleeping. Tip: For a " "profiled GUI program, you can awake Callgrind e.g. by resizing a window of " "the program.
" msgstr "" "Принудительная выгрузкаЭта команда приводит к выгрузке дампа для " "профилирования Callgrind, работающего в текущем каталоге. Она активна, пока " "KCachegrind ждёт дамп. Когда выгрузка завершается, он автоматически " "перегружает данные текущей трассировки. Если дамп поступает от запущенного " "Callgrind, также загружается созданная часть трассировки.
Команда " "«Принудительная выгрузка» создаёт файл callgrind.cmd и каждую секунду " "проверяет его наличие. Работающий Callgrind обнаруживает этот файл, " "выгружает часть трассировки и удаляет callgrind.cmd. KCachegrind замечает " "это и выполняет перезагрузку данных. Если Callgrind не работает, " "выберите «Принудительная выгрузка» ещё раз, чтобы отменить запрос выгрузки. " "При этом файл callgrind.cmd будет удалён и ожидание нового дампа прекратится." "
Примечание: Callgrind может обнаружить файл callgrind.cmd, " "только если он работает не меньше нескольких миллисекунд, т.е. " "не спит. Совет: профилируя программу с GUI, вы можете пробудить " "Callgrind, например изменив размер окна программы.
" #: kcachegrind/toplevel.cpp:485 msgid "" "Open Profile DataThis opens a profile data file, with possible " "multiple parts
" msgstr "" "Открыть данные профилированияПри этом будет открыт файл с данными " "профилирования, возможно с несколькими частями
" #: kcachegrind/toplevel.cpp:500 msgid "Show/Hide the Parts Overview Dockable" msgstr "Показать/скрыть панель обзора частей" #: kcachegrind/toplevel.cpp:505 msgid "Call Stack" msgstr "Стек вызовов" #: kcachegrind/toplevel.cpp:508 msgid "Show/Hide the Call Stack Dockable" msgstr "Показать/скрыть панель стека вызовов" #: kcachegrind/toplevel.cpp:513 msgid "Function Profile" msgstr "Профилирование функций" #: kcachegrind/toplevel.cpp:516 msgid "Show/Hide the Function Profile Dockable" msgstr "Показать/скрыть панель профилирования функций" #: kcachegrind/toplevel.cpp:524 msgid "Show/Hide the Profile Dumps Dockable" msgstr "Показать/скрыть панель дампов профилирования" #: kcachegrind/toplevel.cpp:531 msgid "Relative" msgstr "Относительные" #: kcachegrind/toplevel.cpp:533 msgid "Show relative instead of absolute costs" msgstr "Показывать относительные, не абсолютные стоимости" #: kcachegrind/toplevel.cpp:539 msgid "Relative to Parent" msgstr "Относительно родителей" #: kcachegrind/toplevel.cpp:542 msgid "Show percentage costs relative to parent" msgstr "Показывать стоимость в процентах относительно родителей" #: kcachegrind/toplevel.cpp:546 msgid "" "Show percentage costs relative to parentIf this is switched off, " "percentage costs are always shown relative to the total cost of the profile " "part(s) that are currently browsed. By turning on this option, percentage " "cost of shown cost items will be relative to the parent cost item." "p>
Cost Type | Parent Cost | " "tr>
Function Cumulative | Total |
Function Self" "td> | Function Group (*) / Total |
Call | Function " "Inclusive |
Source Line | Function Inclusive |
Тип стоимости" "td> | Родительская стоимость |
По функциям с " "накоплением | Общая |
Сама функция | Группа " "функции (*)/Общая |
Вызов | Всего по функции | " "tr>
Строка кода | Всего по функции |
(*) " "Только при группировке функций (например, по объектам ELF).
" #: kcachegrind/toplevel.cpp:563 msgid "Cycle Detection" msgstr "Определять циклы" #: kcachegrind/toplevel.cpp:566 msgid "" "Detect recursive cyclesIf this is switched off, the treemap " "drawing will show black areas when a recursive call is made instead of " "drawing the recursion ad infinitum. Note that the size of black areas often " "will be wrong, as inside recursive cycles the cost of calls cannot be " "determined; the error is small, however, for false cycles (see " "documentation).
The correct handling for cycles is to detect them and " "collapse all functions of a cycle into an artificial function, which is done " "when this option is selected. Unfortunately, with GUI applications, this " "often will lead to huge false cycles, making the analysis impossible; " "therefore, there is the option to switch this off.
" msgstr "" "Определять рекурсивные циклыЕсли этот режим выключен, в " "изображении дерева вызовов рекурсивные вызовы заменяются чёрными областями, " "а не разворачиваются до бесконечности. Заметьте, что размер этих областей " "часто определяется неправильно, так как стоимость вызовов внутри рекурсивных " "циклов определить нельзя; однако ошибка невелика для ложных циклов (см. " "документацию).
Правильная обработка циклов при включении этого режима " "заключается в том, чтобы определить их и свернуть все функции цикла в " "искусственную функцию. К сожалению, для приложений с графическим интерфейсом " "в этом режиме выявляются огромные ложные циклы, что делает анализ " "невозможным; так что в таких случаях этот режим следует отключать.
" #: kcachegrind/toplevel.cpp:582 msgid "Shorten Templates" msgstr "Сокращать шаблоны" #: kcachegrind/toplevel.cpp:584 msgid "Hide Template Parameters in C++ Symbols" msgstr "Скрывать параметры шаблонов в символах C++" #: kcachegrind/toplevel.cpp:585 msgid "" "Hide Template Parameters in C++ SymbolsIf this is switched on, " "every symbol displayed will have any C++ template parameters hidden, just " "showing <> instead of a potentially nested template parameter." "p>
In this mode, you can hover the mouse pointer over the activated symbol " "label to show a tooltip with the unabbreviated symbol.
" msgstr "" "Скрывать параметры шаблонов в символах C++При включении этого " "режима все символы будут отображаться без параметров шаблонов C++, просто со " "скобками <> вместо потенциально вложенного параметра шаблона.
В " "этом режиме вы можете навести указатель мыши на активную метку символа и " "увидеть во всплывающей подсказке символ без сокращения.
" #: kcachegrind/toplevel.cpp:602 kcachegrind/toplevel.cpp:643 msgid "Go back in function selection history" msgstr "Перейти назад по истории выделения функций" #: kcachegrind/toplevel.cpp:608 kcachegrind/toplevel.cpp:655 msgid "Go forward in function selection history" msgstr "Перейти вперёд по истории выделения функций" #: kcachegrind/toplevel.cpp:614 kcachegrind/toplevel.cpp:628 msgid "" "Go UpGo to last selected caller of current function. If no caller " "was visited, use that with highest cost.
" msgstr "" "НаверхПереход к последней выделенной функции, вызывавшей текущую. " "Если вызывающая функция не была посещена, выбирается функция с максимальной " "стоимостью.
" #: kcachegrind/toplevel.cpp:620 msgid "&Up" msgstr "&Вверх" #: kcachegrind/toplevel.cpp:661 kcachegrind/toplevel.cpp:1525 msgid "Primary Event Type" msgstr "Первичный тип событий" #: kcachegrind/toplevel.cpp:662 msgid "Select primary event type of costs" msgstr "Выбрать главный тип событий стоимостей" #: kcachegrind/toplevel.cpp:684 kcachegrind/toplevel.cpp:1530 msgid "Secondary Event Type" msgstr "Вторичный тип событий" #: kcachegrind/toplevel.cpp:685 msgid "Select secondary event type for cost e.g. shown in annotations" msgstr "" "Выбрать вторичный тип событий стоимостей для показа, например в аннотациях" #: kcachegrind/toplevel.cpp:695 msgid "Grouping" msgstr "Группировка" #: kcachegrind/toplevel.cpp:697 msgid "Select how functions are grouped into higher level cost items" msgstr "" "Выбрать, как функции группируются в элементы стоимости более высокого уровня" #: kcachegrind/toplevel.cpp:703 msgid "(No Grouping)" msgstr "(Без группировки)" #: kcachegrind/toplevel.cpp:715 msgid "Split" msgstr "Разделить" #: kcachegrind/toplevel.cpp:718 msgid "Show two information panels" msgstr "Показать две панели" #: kcachegrind/toplevel.cpp:724 msgid "Split Horizontal" msgstr "Разделить горизонтально" #: kcachegrind/toplevel.cpp:727 msgid "Change Split Orientation when main window is split." msgstr "Изменить ориентацию разделения, при разделенном главном окне." #: kcachegrind/toplevel.cpp:924 kcachegrind/toplevel.cpp:981 msgid "" "cachegrind.out* callgrind.out*|Callgrind Profile Data\n" "*|All Files" msgstr "" "cachegrind.out* callgrind.out*|Данные профилирования Callgrind\n" "*|Все файлы" #: kcachegrind/toplevel.cpp:926 msgid "Select Callgrind Profile Data" msgstr "Выберите данные профилирования Callgrind" #: kcachegrind/toplevel.cpp:944 kcachegrind/toplevel.cpp:972 #, kde-format msgid "" "Could not open the file \"%1\". Check it exists and you have enough " "permissions to read it." msgstr "" "Открыть файл «%1» не удалось. Убедитесь в том, что он существует и у вас " "есть права, чтобы прочитать его." #: kcachegrind/toplevel.cpp:983 msgid "Add Callgrind Profile Data" msgstr "Добавить данные профилирования Callgrind" #: kcachegrind/toplevel.cpp:1149 kcachegrind/toplevel.cpp:1478 msgid "(Hidden)" msgstr "(скрыто)" #: kcachegrind/toplevel.cpp:1535 msgid "Hide" msgstr "Скрыть" #: kcachegrind/toplevel.cpp:1577 msgid "Show Absolute Cost" msgstr "Показать абсолютную стоимость" #: kcachegrind/toplevel.cpp:1580 msgid "Show Relative Cost" msgstr "Показать относительную стоимость" #: kcachegrind/toplevel.cpp:1612 msgid "Go Back" msgstr "Назад" #: kcachegrind/toplevel.cpp:1613 msgid "Go Forward" msgstr "Вперёд" #: kcachegrind/toplevel.cpp:1614 msgid "Go Up" msgstr "Вверх" #: kcachegrind/toplevel.cpp:1826 #, kde-format msgid "Layout Count: %1" msgstr "Число представлений: %1" #: kcachegrind/toplevel.cpp:1833 msgid "No profile data file loaded." msgstr "Файл с данными профилирования не загружен." #: kcachegrind/toplevel.cpp:1842 #, kde-format msgid "Total %1 Cost: %2" msgstr "Всего %1 Стоимость %2" #: kcachegrind/toplevel.cpp:1854 msgid "No event type selected" msgstr "Нет выбранных типов событий" #: kcachegrind/toplevel.cpp:2040 msgid "Cannot determine receiver PID for dump request" msgstr "Не удалось определить PID получателя для запроса дампа" #: kcachegrind/toplevel.cpp:2081 msgid "Error running callgrind_control" msgstr "Ошибка выполнения callgrind_control" #: kcachegrind/toplevel.cpp:2120 kcachegrind/toplevel.cpp:2157 #: kcachegrind/toplevel.cpp:2194 msgid "(No Stack)" msgstr "(Нет стека)" #: kcachegrind/toplevel.cpp:2126 msgid "(No next function)" msgstr "(Нет следующей функции)" #: kcachegrind/toplevel.cpp:2163 msgid "(No previous function)" msgstr "(Нет предыдущей функции)" #: kcachegrind/toplevel.cpp:2199 msgid "(No Function Up)" msgstr "(Нет верхней функции)" #: kcachegrind/toplevel.cpp:2331 kcachegrind/toplevel.cpp:2345 #, kde-format msgid "Loading %1" msgstr "Загрузка %1" #: kcachegrind/toplevel.cpp:2339 #, kde-format msgid "Error loading %1: %2" msgstr "Ошибка загрузки %1: %2" #. i18n: ectx: @info:tipoftheday #: tips:2 msgid "" "...that the What's this... help for every GUI widget\n" "in KCachegrind contains detailed usage information for this widget?\n" "It is highly recommend to read at least these help texts on first\n" "use. Request What's this... help by pressing\n" "Shift-F1 and clicking on the widget.
\n" msgstr "" "...что справка Что это... содержит полезную информацию\n" "об использовании каждого элемента управления KCachegrind?\n" "Мы настоятельно рекомендуем прочитать хотя бы эти справочные сведения\n" "при первом использовании. Вызвать справку Что это... можно, нажав\n" "Shift-F1 и щёлкнув интересующий элемент.
\n" #. i18n: ectx: @info:tipoftheday #: tips:12 msgid "" "...that you can get profile information at instruction level\n" "with Calltree when you provide the option --dump-instr=yes?\n" "Use the Assembler View for the instruction annotations.\n" "
\n" msgstr "" "...что вы можете получать информацию профиля на уровне инструкций\n" "в Calltree, добавив параметр --dump-instr=yes?\n" "Увидеть инструкции с аннотациями вы можете во вкладке «Машинный код».\n" "
\n" #. i18n: ectx: @info:tipoftheday #: tips:21 msgid "" "...that you can use Alt-Left/Right keys of your keyboard to go\n" "back/forward in the active object history ?
\n" msgstr "" "...что перемещаться в истории активных объектов назад/вперёд\n" "можно клавишами Alt-Влево/Вправо?
\n" #. i18n: ectx: @info:tipoftheday #: tips:28 msgid "" "...that you can navigate in the Callee/Caller Map View using\n" "arrow keys? Use Left/Right to change to siblings of the current\n" "item; use Up/Down to go one nesting level up/down. To select\n" "the current item, press Space, and to activate it, press Return.\n" "
\n" msgstr "" "...что перемещаться в окнах Карта вызываемых/вызывающих можно\n" "клавишами-стрелками? Клавиши Влево/Вправо перемещают к соседним элементам\n" "на текущем уровне, а Вверх/Вниз — на уровень вложенности выше/ниже. Для\n" "выбора текущего элемента нажмите Пробел, а для активации — Enter.\n" "
\n" #. i18n: ectx: @info:tipoftheday #: tips:38 msgid "" "...that you can navigate in the Call Graph View using\n" "arrow keys? Use Up/Down to go one calling level up/down, alternating\n" "between calls and functions. Use Left/Right to change to siblings of a " "current\n" "selected call. To activate the current item, press Return.\n" "
\n" msgstr "" "...что перемещаться в окне «Граф вызовов» можно клавишами-стрелками?\n" "Клавиши Вверх/Вниз перемещают на уровень вызовов выше/ниже, с переходом\n" "от вызовов к функциям, а клавиши Влево/Вправо выбирают соседние элементы\n" "текущего выбранного вызова. Для активации выбранного элемента нажмите " "Enter.\n" "
\n" #. i18n: ectx: @info:tipoftheday #: tips:48 msgid "" "...that you can rapidly locate a function by entering part of its\n" "name (case-insensitive) into the edit line of the toolbar\n" "and hit return?
\n" msgstr "" "...что вы можете быстро найти функцию, введя часть её\n" "имени (без учёта регистра) в строке редактирования в панели\n" "инструментов и нажав Enter?
\n" #. i18n: ectx: @info:tipoftheday #: tips:56 msgid "" "...that you can assign custom colors to \n" "ELF objects/C++ Classes/Source Files for graph coloring\n" "in Settings->Configure KCachegrind...?
\n" msgstr "" "...что вы можете назначить другие цвета \n" "объектам ELF/классам C++/исходным файлам на графе, выбрав\n" "в меню Настройка->Настроить KCachegrind...?
\n" #. i18n: ectx: @info:tipoftheday #: tips:64 msgid "" "...that you can see if debug info is available for a selected \n" "function by looking at the location label in the Info tab or\n" "the source listing header in the source tab?
\n" "There must be the name of the source file (with extension).\n" "If KCachegrind still does not show the source, make sure that you\n" "have added the directory of the source file to the\n" "Source Directories list in the configuration.\n" msgstr "" "
...что вы можете определить, есть ли отладочная информация для выбранной\n" "функции, взглянув на метку размещения на вкладке Информация или\n" "заголовок листинга во вкладке исходного кода?
\n" "Там должно быть имя файла исходного кода (с расширением).\n" "Если KCachegrind не показывает исходный код, проверьте,\n" "добавлен ли каталог с исходным кодом в список\n" "Каталоги исходного кода в конфигурации.\n" #. i18n: ectx: @info:tipoftheday #: tips:76 msgid "" "
...that you can configure whether KCachgrind should\n" "show absolute event counts or relative ones (percentage display)?
\n" msgstr "" "...что вы можете настроить, в каких величинах (абсолютных или " "относительных) KCachgrind\n" "будет показывать количества событий (процентное отображение)?
\n" #. i18n: ectx: @info:tipoftheday #: tips:83 msgid "" "...that you can configure the maximum number of items\n" "for all function lists in KCachegrind? Limiting the number\n" "of items is done to get a fast reacting GUI. The last item in\n" "the list will show you the number of skipped functions, together\n" "with a cost condition for these skipped functions.
\n" "To activate a function with small costs, search for it and select\n" "it in the flat profile. Selecting functions with small cost will\n" "temporarily add them to the flat profile list.
\n" msgstr "" "...что вы можете определить максимальное число элементов\n" "во всех списках функций в KCachegrind? Ограничение числа\n" "элементов позволяет улучшить отзывчивость интерфейса. Последний элемент в\n" "списке будет показывать число опущенных функций, вместе с\n" "условием стоимости для этих функций.
\n" "Чтобы активировать функцию с небольшой стоимостью, найдите и выберите её\n" "в плоском профиле. При выборе такой функции она будет временно\n" "добавлена в список плоского профиля.
\n" #. i18n: ectx: @info:tipoftheday #: tips:96 msgid "" "...that the Coverage tab - in contrast to the Call Lists tab -\n" "shows all functions that are calling the selected function\n" "(upper part) / are called by the selected function (bottom part),\n" "no matter how many function are between them on the stack?
\n" "Examples:
\n" "An entry in the upper list for function foo1() with a value of 50%\n" "with function bar() selected means that 50% of all the cost of function\n" "bar() happened while called from function foo1().
\n" "An entry in the bottom list for function foo2() with a value of 50%\n" "with function bar() selected means that 50% of all the cost of function\n" "bar() happened while calling foo2() from bar().
\n" msgstr "" "...что вкладка Покрытие, в отличие от вкладки Список вызовов, показывает\n" "все функции, вызывающие выбранную (верхний список)/\n" "вызываемые выбранной (нижний список),\n" "вне зависимости от того, сколько функций между ними в стеке?
\n" "Примеры:
\n" "Запись в верхнем списке для функции foo1() со стоимостью 50%\n" "выбранной функции bar() означает, что 50% стоимости\n" "bar() накопилось при вызове из функции foo1().
\n" "Запись в нижнем списке для функции foo2() со стоимостью 50%\n" "выбранной функции bar() означает, что 50% всей стоимости\n" "bar() накопилось при вызове foo2() из bar().
\n" #. i18n: ectx: @info:tipoftheday #: tips:112 msgid "" "...that waiting for the tool tip inside of a tree map\n" "shows the list of names of the nested rectangles the mouse\n" "pointer is over?
\n" "Items from this list can be selected by pressing the right\n" "mouse button.
\n" msgstr "" "...что, дождавшись подсказки в карте вызовов,\n" "можно увидеть список имён вложенных блоков, на которые\n" "наведён указатель мыши?
\n" "Выбрать элемент из этого списка можно, нажав правую\n" "кнопку мыши.
\n" #. i18n: ectx: @info:tipoftheday #: tips:122 msgid "" "...that you can constrain the cost counts shown to only a\n" "few parts of the whole trace by selecting these parts in the\n" "\"Trace Selection\" Dockable?
\n" "To generate multiple parts in a profiling run with\n" "cachegrind, use e.g. option --cachedumps=xxx for parts\n" "of a length of xxx basic blocks (A basic block is a run\n" "of not-branching assembler statements inside of your program\n" "code).
\n" msgstr "" "...что вы можете ограничить отображаемые количества (стоимости)\n" "избранными частями, выбрав эти части в панели\n" "«Выбор трассировки»?
\n" "Чтобы получить несколько частей при запуске профилирования\n" "cachegrind, передайте параметр --cachedumps=xxx. Здесь xxx\n" "определяют длину части в базовых блоках (базовым блоком считается\n" "последовательность инструкций ассемблера без ветвлений в коде\n" "программы).
\n"