unsafe

У меня есть следующий код: class Program { private unsafe static void SquarePtrParam(int* input) { *input *= *input; } private static void SquareRefParam(ref int input) { input *= input; } private unsafe static void Main() { int value = 10; S...

Я хотел бы понять немного больше о памяти, и я не смог найти его в Google, пожалуйста, простите меня, если это глупый вопрос. Почему следующий код, обращающийся к адресу памяти 0 (и до 65535) в C#, вызовет исключение NullReferenceException Байт* указатель = (байт*) 0; Байтовый тест = * указатель; ...

Я работаю с необработанными указателями в Rust и пытаюсь скопировать область памяти из одного места в другое. Я успешно скопировал память, но ТОЛЬКО используя цикл for и копируя каждый байт по отдельности, используя смещение указателя. Я не могу понять, как сделать это более эффективно, т. е. как единственная...

Мне нужно написать тест, который проверяет, что мой код может обрабатывать исключение AccessViolationException (или любое другое исключение поврежденного состояния WIN32-CSE), которое происходит в небезопасном контексте, обычно вызывая сторонний lib. Все это должно быть сделано с помощью C# на .net 4.0. Я на...

Поскольку .NET не использует стиль C nulls для завершения строки, как я могу сохранить выделенную строку, но изменить ее длину с помощью небезопасного кода? Как я понимаю .NET, использующий заголовок 20 байт для каждой строки, предположительно, это место, где хранится длина строки, Есть ли в любом случае, чт...

Я хочу преобразовать byte* в byte[], но я также хочу иметь многоразовую функцию для этого: public unsafe static T[] Create<T>(T* ptr, int length) { T[] array = new T[length]; for (int i = 0; i < length; i++) array[i] = ptr[i]; return array; } К сожалению, я получаю ошибку ко...

У меня есть структура, содержащая небезопасный код со следующим методом: use std::sync::Arc; use std::thread; #[derive(Debug)] struct Foo<T> { items: Vec<Box<(T, String)>>, } impl<T> Foo<T> { pub fn add_element(&self, element: T, key: String) { if !(self.i...

У меня есть код, который создает RefCell, а затем хочет передать ссылку на этот RefCell в один поток: extern crate crossbeam; use std::cell::RefCell; fn main() { let val = RefCell::new(1); crossbeam::scope(|scope| { scope.spawn(|| *val.borrow()); }); } В полном коде я использую тип...

Возможно ли в C# (в небезопасном Codecontext ) создать объект по определенному адресу памяти? Мой Код: object _apiId = new ApiId(); var apiID = (ApiId)_apiId; ApiId* pointer = &apiID; Debug.Write(new Intptr(pointer)); ...

мне никогда не приходилось использовать unsafe в прошлом, но теперь мне нужно, чтобы он работал с указателем, манипулирующим растровым изображением. Я не смог найти никакой документации, которая указывает на обратное, но я хотел бы лучше понять, как небезопасно работает, и если это имеет значение, чтобы испо...