Тип c_ulong
Тип c_ulong является псевдонимом для беззнакового целочисленного типа,
который соответствует типу unsigned long в языке C.
Он используется при взаимодействии с кодом на C через FFI (Foreign Function Interface)
и гарантирует совместимость размеров данных между Rust и C.
Размер данного типа зависит от платформы: на 64-битных системах Linux и macOS
он обычно равен 64 битам, а на Windows - 32 битам.
Тип доступен в модуле std::os::raw и в core::ffi.
Синтаксис
use std::os::raw::c_ulong;
let x: c_ulong = 42;
Пример
Давайте создадим переменную типа c_ulong и выведем её значение:
use std::os::raw::c_ulong;
fn main()
{
let res: c_ulong = 42;
println!("{}", res);
}
Результат выполнения кода:
42
Пример
Давайте определим размер типа c_ulong в байтах с помощью size_of:
use std::os::raw::c_ulong;
use std::mem::size_of;
fn main()
{
let res = size_of::<c_ulong>();
println!("{}", res);
}
Результат выполнения кода на 64-битной Linux-системе:
8
Пример
Давайте используем c_ulong в связке с c_int для демонстрации арифметических операций:
use std::os::raw::{c_ulong, c_int};
fn main()
{
let a: c_ulong = 10;
let b: c_ulong = 20;
let res = a + b;
println!("{}", res);
}
Результат выполнения кода:
30