Вопросы по теме 'unsafe-pointers'

Преобразование **T в *unsafe.Pointer в Go
Как преобразовать переменную типа **T в *unsafe.Pointer ? Пример ниже даст ошибку компиляции: не может преобразовать &ptr (тип **s) в тип *unsafe.Pointer package main import ( "sync/atomic" "unsafe" ) type s struct {...
3164 просмотров

Go: преобразовать unsafe.Pointer в указатель на функцию и наоборот
В C вы можете поместить указатели на функции в массив указателей void и преобразовать их обратно в указатели на функции любого типа: extern int (*fn1)(void); extern void (*fn2)(int); void foo(void) { void *array[2]; int i;...
2865 просмотров
schedule 30.07.2022

Почему NSMutableData меняет адрес указателя?
Я хочу быстро предварительно выделить память и обернуть ее NSMutableData , но с доступом через указатель. Итак, у меня есть это: var vertex = UnsafeMutablePointer<Float>.alloc(numberOfVertex * 3) vertex.initialize(0) vertexData =...
98 просмотров
schedule 30.04.2022

Использование AudioBufferList со Swift еще раз
Ссылаясь на Использование AudioBufferList с Swift Я нашел следующее решение здесь, в Stack Overflow, для воспроизведения звука с помощью аудиоустройства. Моя проблема здесь в том, что я не могу поместить фактические данные в свой буфер, такие...
453 просмотров

Swift 3 UnsafePointer($0) больше не компилируется в Xcode 8 beta 6
Мой фрагмент кода выглядит следующим образом…: let defaultRouteReachability = withUnsafePointer(to: &zeroAddress) { SCNetworkReachabilityCreateWithAddress(nil, UnsafePointer($0)) } … больше не компилируется со следующей...
21171 просмотров
schedule 13.01.2023

Инициализатор UnsafePointer ‹UInt8› в Swift 3
У меня есть класс проверки квитанций, который устарел с момента выхода Swift 3. Я исправил некоторые проблемы, но у меня все еще много ... Вот исходный код GitHub, который я использовал:...
19484 просмотров
schedule 06.05.2023

Как привести __NSMallocBlock__ к его базовому типу в Swift 3?
У меня был трюк , чтобы помочь протестировать UIAlertController , который работал в Swift 2.x: extension UIAlertController { typealias AlertHandler = @convention(block) (UIAlertAction) -> Void func tapButtonAtIndex(index: Int) {...
2148 просмотров
schedule 17.03.2024

Указатели в Swift
Я пытаюсь понять использование указателей в Swift, в частности: Unsafe[Mutable]Pointer и UnsafeRaw[Mutable]Pointer . У меня есть несколько вопросов по теме. Является ли UnsafePointer <T> равным const T * Pointer в ? и...
10723 просмотров

Не удается преобразовать значение типа «UnsafePointer‹MIDINotification›» в ожидаемый тип аргумента «UnsafePointer‹_›»
Я пытаюсь обновить код из примера CoreMidi, который я нашел по адресу http://mattg411.com/swift-coremidi-callbacks/ И код датирован до Swift 3, поэтому мне нужно внести некоторые коррективы. Проблема в том, что мне практически никогда не...
1540 просмотров
schedule 01.01.2023

Как скопировать память в UnsafeMutableRawPointer, начиная с индекса в Swift?
Я знаю, как скопировать память из массива в UnsafeMutableRawPointer, начиная с индекса 0, используя: mutableRawPointer.copyMemory(from: bytes, byteCount: bytes.count * MemoryLayout<Float>.stride) где bytes — массив чисел с плавающей...
1645 просмотров

Улучшить производительность Bitconverter.ToInt16
Я собираю данные с USB-устройства, и эти данные должны поступать на компонент вывода звука. На данный момент я не доставляю данные достаточно быстро, чтобы избежать щелчков в выходном сигнале. Так что каждая миллисекунда на счету. На данный...
442 просмотров
schedule 26.02.2024

Назначение вручную выделенного UnsafeMutablePointer‹String›
Я хотел бы присвоить значение указателя указателя на строку, которая выделяется вручную. Другими словами, я хотел бы написать что-то вроде этого: let pointer = UnsafeMutablePointer<String>.allocate(1) pointer.pointee = "Hello, World!" //...
32 просмотров

Вызов функции C с указателем массива и указателем int из Swift
Я создаю библиотеку C плюс оболочку для удобного использования в Swift. Функция C принимает два параметра: указатель массива и указатель типа int: int crgetproclist(struct kinfo_proc *proc_list, size_t *count) { int err = 0; size_t length...
114 просмотров
schedule 07.02.2023