use*_*733 1 malloc pointers alloc swift
我试图转换这为迅速。
内存分配逻辑面临的问题
Byte *p[10000];
p[allocatedMB] = malloc(1048576);
memset(p[allocatedMB], 0, 1048576);
Run Code Online (Sandbox Code Playgroud)
如何快速写这个?
您可以malloc从 Swift使用,它返回一个“原始指针”:
var p: [UnsafeMutableRawPointer?] = Array(repeating: nil, count: 10000)
var allocatedMB = 0
p[allocatedMB] = malloc(1048576)
memset(p[allocatedMB], 0, 1048576)
Run Code Online (Sandbox Code Playgroud)
或者,使用UnsafeMutablePointer及其
allocate和initialize方法:
var p: [UnsafeMutablePointer<UInt8>?] = Array(repeating: nil, count: 10000)
var allocatedMB = 0
p[allocatedMB] = UnsafeMutablePointer.allocate(capacity: 1048576)
p[allocatedMB]?.initialize(to: 0, count: 1048576)
Run Code Online (Sandbox Code Playgroud)