Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перевод терминов на русский 
:(
    Опции темы
drug007
Дата 1.12.2011, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Изучаю boost::pool и решил для общего развития перевести документацию на русский, пример. Встал вопрос о переводе того или иного термина. Например такое предложение:
Forward declarations of all the exposed symbols for this library are in the header made inscope by #include <boost/pool/poolfwd.hpp>.
если перевести буквально:
Опережающие объявления всех доступных из других единиц трансляции (?!) символов библиотеки находятся в заголовочном файле, включаемым с помощью #include <boost/pool/poolfwd.hpp>
Меня смущает слово "опережающие" и перевод терминов exposed и symbol (в данном контексте). Кто что скажет?

Также как лучше перевести the include file guards - страж заголовочного файла?

З.Ы. и ресурс слишком рекламистый, не посоветуете что-либо менее отвлекающее?
PM MAIL   Вверх
Alexeis
Дата 1.12.2011, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 12
Всего: 459



drug007, я бы советовал вместо дословного перевода делать смысловой. Такой текст воспринимается намного лучше.

Цитата(drug007 @  1.12.2011,  10:00 Найти цитируемый пост)
Меня смущает слово "опережающие" и перевод терминов exposed и symbol (в данном контексте). Кто что скажет?

  Опережающее вроде подходит, а вот "всех доступных из других единиц трансляции" мне не понятно даже по русски. exposed, я так понимаю, используется как синоним public .


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
boostcoder
Дата 1.12.2011, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(drug007 @  1.12.2011,  09:00 Найти цитируемый пост)
Опережающие объявления

это лучше не переводить.
к примеру так:
Цитата

Форвард-декларации всех доступных из других единиц трансляции символов библиотеки находятся в заголовочных файлах, включаемых с помощью #include <boost/pool/poolfwd.hpp>


Цитата(drug007 @  1.12.2011,  09:00 Найти цитируемый пост)
Также как лучше перевести the include file guards - страж заголовочного файла?

да.

Цитата(drug007 @  1.12.2011,  09:00 Найти цитируемый пост)
З.Ы. и ресурс слишком рекламистый, не посоветуете что-либо менее отвлекающее?

прям на википедии пиши. не? ;)

Это сообщение отредактировал(а) boostcoder - 1.12.2011, 09:23
PM WWW   Вверх
drug007
Дата 1.12.2011, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Согласен на счет смыслового перевода. Но первоначально все равно делаю близко к оригиналу, потом перечитываю и то, что не по-русски переписываю уже своими словами. Кстати, приходится обращать внимание на детали, что помогает самому лучше понять предмет, как в анекдоте - пока вам объяснял, сам уже понял. smile
Да, exposed именно в смысле public, но как это красиво перевести на русский? И symbols тут же не в значении "символ", а в смысле "конструкция", скорее всего.

Надо будет попробовать википедию   smile 

Это сообщение отредактировал(а) drug007 - 1.12.2011, 09:27
PM MAIL   Вверх
boostcoder
Дата 1.12.2011, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(drug007 @  1.12.2011,  09:25 Найти цитируемый пост)
Да, exposed именно в смысле public, но как это красиво перевести на русский?

в переводе, exposed не нужен. это в английском без него предложение разорванное получится.

Цитата(drug007 @  1.12.2011,  09:25 Найти цитируемый пост)
И symbols тут же не в значении "символ", а в смысле "конструкция", скорее всего.

да, конструкция. но лучше оставить символ. в контексте, все равно ничего другого мне в голову не пришло.

Добавлено через 3 минуты и 32 секунды
Цитата(drug007 @  1.12.2011,  09:25 Найти цитируемый пост)
Надо будет попробовать википедию

в поиске вводишь "boost.pool", тебе говорят что такой страницы нет. и там есть красная ссылочка "Создать страницу". имхо, стабильнее и более популярного ресурса для доки не сыскать.
PM WWW   Вверх
Alexeis
Дата 1.12.2011, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 12
Всего: 459



drug007, боюсь что термин symbols слишком специфичен, в литературе часто так и пишут символ. symbol скорее это символьный идентификатор. Тут используется термин symbol в значении линковочных символов, т.е. языковых конструкций, которые попадают в объектный файл в символьном представлении вместо подстановки адреса. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
drug007
Дата 1.12.2011, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Тогда сделаю так 'symbol' = "символ".
Что-то вики не дает сохранять изменения - одну страницу сохранил и все. :( Надеюсь это временно.

Хмм... Что-то на вики меня встретили недружелюбно -  статьи пометили как спам. Там можно размещать доки все-таки или нет? Вопрос там этот, конечно , тоже задам.

Что-то с викой не очень дружно получается, но надежды не теряю. По крайней мере перевод делаю и возник такой вопрос (описывается упорядоченный pool, где указатели на свободные блоки памяти хранятся в сортированном по адресам блоков списке):
However, freeing an object can be O(N) in the number of currently free blocks which can be prohibitively expensive in some situations.
Я перевел как:
Тем не менее, освобождение объекта может быть O(N) от текущего числа свободных блоков, которое может быть запредельно дорогим в некоторых ситуациях. 
Вот меня смущает перевод фрагмента "... in the number of currently free blocks..."

Вообще здесь идет обсуждение того факта, что в упорядоченном списке свободных блоков памяти при освобождении объекта и появлении свободного блока, его нужно добавить в список свободных блоков, что может привести к итерации по всему списку этих свободных блоков, что не есть гуд. Или я не прав?

Это сообщение отредактировал(а) drug007 - 1.12.2011, 14:01
PM MAIL   Вверх
boostcoder
Дата 1.12.2011, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



как спам может быть до проверки админами. и зарегался? дай ссылку.
сам я никогда не создавал записи. дописывал/редактировал. как спам не помечали.

Цитата(drug007 @  1.12.2011,  10:26 Найти цитируемый пост)
Тем не менее, освобождение объекта может быть O(N) от текущего числа свободных блоков, которое может быть запредельно дорогим в некоторых ситуациях.

так?:
Тем не менее, освобождение объекта может иметь сложность O(N) от текущего числа свободных блоков, которое может быть запредельно дорогим в некоторых ситуациях.

Цитата(drug007 @  1.12.2011,  10:26 Найти цитируемый пост)
Или я не прав?

прав.
PM WWW   Вверх
UniBomb
Дата 1.12.2011, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: 2
Всего: 97



Вместо википедии тогда уж лучше использовать викиучебник  smile 
PM MAIL ICQ Skype   Вверх
drug007
Дата 2.12.2011, 06:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Цитата(UniBomb @ 1.12.2011,  17:02)
Вместо википедии тогда уж лучше использовать викиучебник  smile

Викиучебник мне тоже уже посоветовали на самой вики, но теперь проблема в том, что вики не дает редактировать большие тексты, только буквально 10 предложений. Вчера весь день промучался - при чем эта проблема уже известна на той же вики, но полноценного решения не имеет. Решил пока не потерял запал на перевод заняться самим переводом, а выложить уже потом можно будет.


Цитата(boostcoder @ 1.12.2011,  15:08)
как спам может быть до проверки админами. и зарегался? дай ссылку.
сам я никогда не создавал записи. дописывал/редактировал. как спам не помечали.

Например удаленная статья в вики - вообще обвинили в нарушении авторских прав. Чьи права я там нарушил?
А вот сам викиучебник
Но тут все криво, т.к. я еще не очень уверенно работаю в вики + недоступно полноценное редактирование.

Цитата(boostcoder @ 1.12.2011,  15:08)

так?:
Тем не менее, освобождение объекта может иметь сложность O(N) от текущего числа свободных блоков, которое может быть запредельно дорогим в некоторых ситуациях.

Да, сложность как раз нужный термин.


Спасибо за ответы.
PM MAIL   Вверх
boostcoder
Дата 2.12.2011, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(drug007 @  2.12.2011,  06:38 Найти цитируемый пост)
Например удаленная статья в вики - вообще обвинили в нарушении авторских прав. Чьи права я там нарушил?

бред какой-то %)
Цитата

перевод несвободной документации


Цитата(drug007 @  2.12.2011,  06:38 Найти цитируемый пост)
А вот сам викиучебник
Но тут все криво

нормально. потом "губы наведешь".

PM WWW   Вверх
boostcoder
Дата 2.12.2011, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



drug007, пообщался я с модератором Википедии, и он извинился за то что не внимательно прочитал "Boost Software License", и сказал что страница будет восстановлена. Вот только нужно подать заявку админу. Об этом сейчас и треплюсь.
PM WWW   Вверх
boostcoder
Дата 2.12.2011, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



drug007, в общем, тут описан процесс подачи заявки.
PM WWW   Вверх
drug007
Дата 4.12.2011, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Цитата(boostcoder @ 2.12.2011,  18:35)
drug007, в общем, тут описан процесс подачи заявки.

Спасибо за поддержку. Пока восстанавливать не буду - решил сосредоточиться именно на переводе, потому что времени не очень хватает. А там уже посмотрим - может оставить в виде викиучебника, а может на страницу выложить.
PM MAIL   Вверх
drug007
Дата 14.12.2011, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Подскажите, как правильнее перевести:
1) Simple segregated storage - Хранилище с простым разделением/разбиением? может какой-то соответствующий устоявшийся термин уже есть?

2) Simple segregated storage addresses both of these issues. Almost all memory overhead is done away with, and all allocations can take place in a small amount of (amortized) constant time. - как здесь перевести amortized - я не совсем понял.
PM MAIL   Вверх
boostcoder
Дата 14.12.2011, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(drug007 @  14.12.2011,  13:55 Найти цитируемый пост)
Хранилище с простым разделением/разбиением?

разбиением.

Цитата(drug007 @  14.12.2011,  13:55 Найти цитируемый пост)
как здесь перевести amortized - я не совсем понял. 

приближенное/устредненное.
PM WWW   Вверх
spyswamp
Дата 15.12.2011, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 1
Всего: 7



Ого, вот это надмозг-стайл. smile В мемориз!


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
drug007
Дата 16.12.2011, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Цитата(spyswamp @ 15.12.2011,  16:45)
Ого, вот это надмозг-стайл. smile В мемориз!

Ваши варианты?
PM MAIL   Вверх
boostcoder
Дата 31.12.2011, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



http://ru.wikibooks.org/wiki/Boost.Pool

думаю, стОит добавить ссылку на источник.
а вообще, замечательно потрудился! smile 
на википедии страницу восстановить не желаешь?

зы
раскидаю ссылку по известным мне сборникам переводов.
PM WWW   Вверх
drug007
Дата 10.1.2012, 06:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Цитата(boostcoder @ 31.12.2011,  12:22)
http://ru.wikibooks.org/wiki/Boost.Pool

думаю, стОит добавить ссылку на источник.
а вообще, замечательно потрудился! smile 
на википедии страницу восстановить не желаешь?

зы
раскидаю ссылку по известным мне сборникам переводов.

Спасибо за оценку и за продвижение ссылки! =)
Правда я еще не закончил - у меня проблемы с редактированием, сохраняет результат редактирования даже не через раз, а через 10. Очень много времени уходит на пустое ожидания сохранения результатов. Поэтому все медленно идет. По той же причине пока не планирую восстанавливать страницу на википедии, хотя по идее это будет просто. Пока планирую завершить викиучебник в ближайшее время (как инет дома появится). 


З.Ы. Если держать и в википедии и в викиучебнике - не будет ли лишнего дублирования?
PM MAIL   Вверх
boostcoder
Дата 10.1.2012, 07:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(drug007 @  10.1.2012,  06:31 Найти цитируемый пост)
Если держать и в википедии и в викиучебнике - не будет ли лишнего дублирования?

а хз. об этом тебе модераторы сообщат  smile 
PM WWW   Вверх
drug007
Дата 16.1.2012, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Не дают мне забыть про  перевод доки к boost::pool smile и встал у меня такой вопрос - в английском есть два термина alignment и padding. Я термин alignment перевожу как выравнивание блока памяти по адресу, а термин padding перевожу как заполнение, когда блок памяти дополняется пустыми (ничего не значащими) символами, чтобы блок памяти всегда имел определенный фиксированный размер.
Может есть какой-то еще нюанс, что я упустил?
PM MAIL   Вверх
boostcoder
Дата 16.1.2012, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



все правильно.

я там кстати ссылку на буст.пул добавил ;)
PM WWW   Вверх
drug007
Дата 16.1.2012, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Цитата(boostcoder @ 16.1.2012,  11:25)
все правильно.

я там кстати ссылку на буст.пул добавил ;)

Ок

там это где? =)
PM MAIL   Вверх
boostcoder
Дата 16.1.2012, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



PM WWW   Вверх
drug007
Дата 16.1.2012, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Цитата(boostcoder @ 16.1.2012,  11:43)
тут: http://ru.wikibooks.org/wiki/Boost.Pool

Тьфу, точно, как не догадался? =) 
Скоро дело вообще "попрет". Вот бы еще какую статистику получить, пользуется ли народ учебником или нет. А еще бы обратную связь получить - ух! А то я сам чувствую иногда, что мало перевода, надо бы живых мыслей добавить. Да на все не замахнешься, а вот на "оживление" каких-то наиболее важных моментов можно было бы.
PM MAIL   Вверх
Absinthe
Дата 16.1.2012, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 4.5.2011

Репутация: 1
Всего: 11



Термины лучше не переводить. Так и писать транслитом.
Аббревиатуры НИ В КОЕМ СЛУЧАЕ не переводить. Только зараженный грибами мозг может перевести IDE как ИСР(В книге Программист-прагматик).
PM MAIL   Вверх
boostcoder
Дата 16.1.2012, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(Absinthe @  16.1.2012,  12:10 Найти цитируемый пост)
ИСР

 smile 
PM WWW   Вверх
drug007
Дата 16.1.2012, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Цитата(Absinthe @ 16.1.2012,  12:10)
Термины лучше не переводить. Так и писать транслитом.
Аббревиатуры НИ В КОЕМ СЛУЧАЕ не переводить. Только зараженный грибами мозг может перевести IDE как ИСР(В книге Программист-прагматик).

Про ИСР - хороший пример, как не надо делать. =)
 Но некоторые термины (как alignment и padding) лучше перевести - мне кажется выравнивание и заполнение понятнее будет алаймента и паддинга. На всякий случай я в скобках оставляю оригинальный термин.
PM MAIL   Вверх
drug007
Дата 23.1.2012, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Не могу точно перевести следующий текст (сам смысл не 100% понимаю):
Цитата
A new-expression passes the amount of space requested to the allocation function as the first argument of type std::size_t. That argument shall be no less than the size of the object being created; it may be greater than the size of the object being created only if the object is an array. For arrays of char and unsigned char, the difference between the result of the newexpression and the address returned by the allocation function shall be an integral multiple of the most stringent alignment requirement (3.9) of any object type whose size is no greater than the size of the array being created. [Note: Because allocation functions are assumed to return pointers to storage that is appropriately aligned for objects of any type, this constraint on array allocation overhead permits the common idiom of allocating character arrays into which objects of other types will later be placed. ]
 (взято отсюда) я перевел так:
New-выражение первым аргументом типа std::size_t  передает функции выделения размер выделяемой памяти. Значение аргумента не должно быть меньше размера создаваемого объекта; значение может быть больше размера создаваемого объекта только если объект является массивом. Для массивов типов char и unsigned char разница(?) между результатом new-выражения и адресом, возвращаемым функцией выделения должна быть целым, кратным(??) наиболее строгим требованиям к выравниванию (3.9) объекта любого типа, чей размер не превышает размер создаваемого массива. [Примечание: В следствии того, что предполагается, что функции выделения возвращают указатели на хранилище, имеющее необходимое выравнивание для объектов любого типа, это ограничение на выделение массивов разрешает использование распространенной идиомы выделения символьных массивов, которые используются для размещения объекты других типов.]

Вот мне самому не понятно, что это за разница и чему она должна быть равна.
PM MAIL   Вверх
bsa
Дата 23.1.2012, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



думаю речь о том, что выделенный массив char должен быть выровнен по самой строгой границе. Т.е. если объекты размером 8 байт должны быть выровнены по границе 64-х битного слова. Т.е. адрес приведенный к int должен делиться без остатка на 8.
PM   Вверх
drug007
Дата 25.1.2012, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Цитата(bsa @ 23.1.2012,  20:34)
думаю речь о том, что выделенный массив char должен быть выровнен по самой строгой границе. Т.е. если объекты размером 8 байт должны быть выровнены по границе 64-х битного слова. Т.е. адрес приведенный к int должен делиться без остатка на 8.

Это понятно. Непонятно что за разница имеется в виду между new-выражением и функцией выделения. 
Как следует из стандарта, new-выражение вызывает функцию выделения для непосредственного выделения памяти. При этом new-выражение знает о типе для которого выделяется память, а функция выделения нет. Т.е. возможно, что функция выделения выделит память невыравненную нужным образом и выравнивание должно выполнить new-выражение? Может быть это имеется в виду под разницей? Т.е. new-выражение должно выделить память для типа с выравниванием 8 байт, а функция выделения выделила блок памяти с адреса 0х0ААА4, т.е. выравненный по 4 байтной границе. Тогда new-выражение проигнорирует первые четыре байта и вернет не 0хААА4, а вернет 0хААА8? Может здесь это имеется в виду? 
В пользу моих логических рассуждений еще говорит фраза "...this constraint on array allocation overhead permits the common idiom...", буквально означающая "...это ограничение накладных расходов на выделение массивов позволяет использовать общую идиому..."
PM MAIL   Вверх
bsa
Дата 25.1.2012, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



drug007, в любом случае, malloc возвращает область выровненную по самой строгой границе. Если ты используешь ее, то расслабься.
PM   Вверх
drug007
Дата 26.1.2012, 04:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Цитата(bsa @ 25.1.2012,  19:50)
drug007, в любом случае, malloc возвращает область выровненную по самой строгой границе. Если ты используешь ее, то расслабься.

Да я вообще не напрягаюсь. Просто при переводе столкнулся с нюансом и теперь хочу это выяснить - честно говоря, лично я бы и без этого нюанса прожил, но поскольку перевод выложен для всех, чувствую ответственность, чтобы перевод был правильный, а не абы как.
malloc как раз возвращает память с самым слабым выравниванием, подходящим для объектов любого типа - мы же тип объекта в нее не передаем, а только размер в байтах и она просто не в состоянии выровнять память по какому-либо конкретному типу.
PM MAIL   Вверх
bsa
Дата 26.1.2012, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



Цитата(http://linux.die.net/man/3/malloc)
The malloc() and calloc() functions return a pointer to the allocated memory that is suitably aligned for any kind of variable.

Цитата(C Language Standard)
The pointer returned if the allocation succeeds aligned so that it may be assigned to a pointer to any type of object with a fundamental alignment requirement and then used to access such an object or an array of such objects in the space allocated (until the space is sxplicitly deallocated).


Это сообщение отредактировал(а) bsa - 26.1.2012, 10:33
PM   Вверх
drug007
Дата 26.1.2012, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



bsa, конечно же вы правы, именно строгое выравнивание. 

Вообще, я решил оставить этот вопрос про разницу между результатом new-выражения и результатом функции выделения памяти - буду считать что понял и перевел правильно. А если неправильно - то все равно всем без разницы  smile , я время только зря трачу. А вам, bsa, спасибо за диалог. smile
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0893 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.