Pull to refresh
  • by relevance
  • by date
  • by rating

Создание функции на Rust, которая возвращает String или &str

Programming *Rust *
Translation

От переводчика


КДПВ Это последняя статья из цикла про работу со строками и памятью в Rust от Herman Radtke, которую я перевожу. Мне она показалась наиболее полезной, и изначально я хотел начать перевод с неё, но потом мне показалось, что остальные статьи в серии тоже нужны, для создания контекста и введения в более простые, но очень важные, моменты языка, без которых эта статья теряет свою полезность.


Мы узнали как создать функцию, которая принимает String или &str (англ.) в качестве аргумента. Теперь я хочу показать вам как создать функцию, которая возвращает String или &str. Ещё я хочу обсудить, почему нам это может понадобиться.
Читать дальше →
Total votes 23: ↑22 and ↓1 +21
Views 7.7K
Comments 11

Отладка вашей ОС: урок по выделению памяти

Mail.ru Group corporate blog Python *Compilers *Debugging *C *
Translation

Всё началось, как и многие другие расследования, с баг-репорта.

Название отчёта было довольно простым: «При HTTP-подключении iter_content медленно работает с чанками большого размера». Подобное название немедленно включило у меня в голове сирену по двум причинам. Во-первых, довольно сложно определить, что здесь означает «медленно»? Насколько медленно? Насколько велик «большой размер»? Во-вторых, если бы описанное проявлялось действительно серьёзно, то мы бы об этом уже знали. Метод iter_content используется давно, и если бы он существенно притормаживал в распространённом пользовательском режиме, то мимо нас такая информация не прошла бы.
Читать дальше →
Total votes 88: ↑78 and ↓10 +68
Views 26K
Comments 21

Вся правда об ОСРВ. Статья #14. Разделы памяти: введение и базовые службы

Programming microcontrollers *
Translation


Разделы памяти упоминались ранее в одной из предыдущих статей (#6), где производилось сравнение со стандартной функцией языка C malloc(). Раздел (partition) – это область памяти, получаемая из пула разделов (пула памяти). Разделение памяти предоставляет гибкий способ надежного и детерминированного выделения и освобождения памяти.
Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Views 1.5K
Comments 0

Вся правда об ОСРВ. Статья #15. Разделы памяти: службы и структуры данных

Programming microcontrollers *
Translation


В этой статье мы продолжаем рассматривать разделы памяти ОСРВ.

Nucleus RTOS имеет три вызова API, предоставляющих служебные функции, связанные с пулами разделов памяти: возвращение информации о пуле разделов, возвращение числа пулов разделов в приложении и возвращение указателей на все пулы разделов в приложении. Первые два вызова реализованы в Nucleus SE.
Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Views 1.6K
Comments 2

Ломаем фундаментальные основы C#: выделение памяти под ссылочный тип на стеке

Abnormal programming *.NET *C# *ООP *
В данной статье будут приведены основы внутреннего устройста типов, а также пример, в котором память под ссылочный тип будет выделена полностью на стеке (это потому что я full-stack программист).



Дисклеймер


Данная статья не содержит материал, который стоит применять в реальных проектах. Это просто расширение границ, в которых воспринимается язык программирования.

Прежде, чем приступить к повествованию, настоятельно рекомендую ознакомиться с первым постом про StructLayout, т.к. там разобран пример, который будет использоваться в этой статье (Впрочем, как и всегда).
Читать дальше →
Total votes 22: ↑21 and ↓1 +20
Views 17K
Comments 13