Публикации по теме 'system-programming'


Как происходит выравнивание структуры данных и с чем его едят?
В некоторых языках программирования мы можем использовать некоторую магию, связанную с выделением памяти для структуры данных. Я приведу вам примеры из языка Go, поскольку его легко читать и понимать. package main import ( "fmt" "unsafe" ) type Foo struct { field1 bool // 1 byte field2 int32 // 4 byte } func main() { a := Foo{} fmt.Println(unsafe.Sizeof(a)) // should be 1 + 4 = 5 } В этом фрагменте кода мы Создал тип пользователя Foo. Он..

Моделирование уровня транзакций с помощью SystemC
Компонентное моделирование с абстракцией Моделирование на уровне транзакций (TLM) отделяет связь от вычислений в системе. С точки зрения системной инженерии компонент можно смоделировать как модуль SystemC с набором параллельных процессов, выполняющих необходимые вычисления для представления своего поведения. Модули взаимодействуют друг с другом в виде…

Изучаем Rust 3: Структуры
Привет, Rustations, спасибо, что вернулись за частью 3! Rust — прекрасный язык системного программирования, который, как известно, «труден для изучения». В этой серии мы разобьем его концепции на простые для понимания части с ключевыми выводами. Надежда этой серии состоит в том, чтобы заинтересовать больше людей ржавчиной и увидеть, насколько она удивительна на самом деле. В этой статье мы поговорим о структурах в rust. Структуры — это способ определения пользовательских типов..

Смарт-контракт с Rust
Пока мы концентрируемся на написании параллельных серверных систем на Rust , вы также будете взаимодействовать с нашими смарт-контрактами , написанными на Solidity, и улучшите свое понимание механизмов аукционов и протоколов DeFi. Я могу объяснить это более подробно. Параллельные серверные системы — это системы, которые могут обрабатывать несколько запросов одновременно. Они часто используются в веб-приложениях и других системах, которым необходимо обрабатывать большой объем..

Краткое введение в SystemC-AMS
Моделирование аналоговых и смешанных сигналов Аналоговые системы задаются дифференциально-алгебраическими уравнениями. Их можно разделить на консервативные и неконсервативные системы. В консервативных системах сигналы представляют собой физические величины, связанные с сквозным значением (например, напряжением) и сквозным значением (например, током). Эти сигналы являются двунаправленными. Сигналы в неконсервативном…

Введение в оператор космического корабля C++20
В C++20 появился оператор трехстороннего сравнения, также известный как «оператор космического корабля» из-за его внешнего вида: <=> . Цель — упростить процесс сравнения объектов. Основы Ниже приведен простой пример использования этого нового оператора космического корабля: #include <compare> int main() { int a = 1; int b = 2; auto result = a <=> b; if (result < 0) { std::cout << "a is less than b" << std::endl; } else..

Изучаем Rust 2: векторы
Привет, Rustations, спасибо, что вернулись, чтобы прочитать вторую часть! Rust — прекрасный язык системного программирования, который, как известно, «труден для изучения». В этой серии мы разобьем его концепции на простые для понимания части с ключевыми выводами. Надежда этой серии состоит в том, чтобы заинтересовать больше людей ржавчиной и увидеть, насколько она удивительна на самом деле. В этой статье мы поговорим о векторах. Векторы в Rust — это динамический массив, который..