1
用node.js node :: Buffer包裝現有內存的正確方法是什麼?我似乎無法獲得free_callback與緩衝區調用。使用node :: Buffer包裝現有內存
我知道在一段時間內IRC上有一些喋喋不休的問題。我們在0.10.x系列,但是如果有必要...移動
void free_test_cb(char *m,void *hint) {
DBG_OUT("FREEING MEMORY.");
free(m);
}
Handle<Value> WrapMemBufferTest(const Arguments& args) {
HandleScope scope;
char *mem = (char *) ::malloc(100);
memset(mem,'A',100);
node::Buffer *buf = node::Buffer::New(mem,100,free_test_cb,0);
return scope.Close(buf->handle_);
}
但free_test_cb()
只是沒有得到所謂的在一個簡單的測試程序。 ...然後我甚至嘗試把它們扔在那裏:
void weak_cb(Persistent<Value> object, void* parameter) {
object.Dispose();
}
Handle<Value> WrapMemBufferTest(const Arguments& args) {
HandleScope scope;
char *mem = (char *) ::malloc(100);
memset(mem,'A',100);
node::Buffer *buf = node::Buffer::New(mem,100,free_test_cb,0);
buf->handle_.MakeWeak(NULL, weak_cb); // new
return scope.Close(buf->handle_);
}
任何意見讚賞。
爲什麼在C++中使用'malloc'和'free'? –