码迷,mamicode.com
首页 >  
搜索关键字:ptr    ( 2121个结果
Decorator
#include using namespace std;#define DESTROY_POINTER(ptr) if (ptr) { delete ptr; ptr = NULL; } class Product{public: virtual void Action()=0;};clas...
分类:其他好文   时间:2014-12-11 12:17:14    阅读次数:177
careercup-C和C++ 13.4
13.4深拷贝和浅拷贝有什么区别,如何使用?解答浅拷贝并不复制数据,只复制指向数据的指针,因此是多个指针指向同一份数据。 深拷贝会复制原始数据,每个指针指向一份独立的数据。通过下面的代码, 可以清楚地看出它们的区别:struct Test{ char *ptr;};void shallow_c...
分类:编程语言   时间:2014-12-09 22:49:53    阅读次数:154
JPDA 架构研究14 - Agent利用环境指针访问VM(对象管理篇)
引入:上文讨论了Agent如何利用环境指针访问VM(管理类),这里讨论如何管理对象。分类9:对象管理a.GetObjectSize.获取对象的大小,jvmtiError GetObjectSize(jvmtiEnv*env, jobjectobject, jlong*size_ptr)注意,这不是真实大小,这只是从对象的定义代码中获得的一个预估值。..
分类:其他好文   时间:2014-12-09 15:56:46    阅读次数:182
JPDA 架构研究13 - Agent利用环境指针访问VM(类管理篇)
引入:上文中提到Agent如何利用环境指针访问VM的(Watch)功能,这里主要讲解如何去管理类的。分类9:管理类a.GetLoadedClasses.获得虚拟机中所有被加载的类的数组。jvmtiError GetLoadedClasses(jvmtiEnv*env, jint*class_count_ptr, jclass**classes_ptr)从返回值可以看出,cl..
分类:其他好文   时间:2014-12-09 15:56:45    阅读次数:243
JPDA 架构研究15 - Agent利用环境指针访问VM(字段访问篇)
引入:上文中我们已经探讨了Agent如何利用环境指针访问VM(对象级的操作),现在我们讨论让Agent利用环境指针访问类的字段。分类10:字段访问a.GetFieldName.获取某类的某字段名字jvmtiError GetFieldName(jvmtiEnv*env, jclassklass, jfieldIDfield, char**name_ptr, char**si..
分类:其他好文   时间:2014-12-09 15:53:02    阅读次数:216
JPDA 架构研究16 - Agent利用环境指针访问VM(方法访问篇)
引入:上文中我们讲解了Agent如何利用环境指针来访问VM的字段访问部分,现在来讲解方法访问部分。分类11:方法访问a.GetMethodName.获取方法名字和签名jvmtiError GetMethodName(jvmtiEnv*env, jmethodIDmethod, char**name_ptr, char**signature_ptr, char**generic_ptr)b.Get..
分类:其他好文   时间:2014-12-09 15:51:20    阅读次数:201
不要伤害指针(6)--指针的安全问题
看下面的例子:例十八:char s = 'a';int *ptr;ptr = (int *)&s;*ptr = 1298;指针ptr 是一个int *类型的指针,它指向的类型是int。它指向的地址就是s 的首地址。在32 位程序中,s 占一个字节,int 类型占四个字节。最后一条语句不但改变了s 所...
分类:其他好文   时间:2014-12-09 15:30:23    阅读次数:163
不要伤害指针(2)--指针的类型和指针所指向的类型
在谈论指针之前,永远记住指针的四要素:指针的类型,指针所指向的类型,指针指向的内存区,指针自身占据的内存。1. 指针的类型:从语法的角度看,你只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型。这是指针本身所具有的类型。让我们看看例一中各个指针的类型:1 int*ptr;//指针的类型...
分类:其他好文   时间:2014-12-09 13:39:47    阅读次数:138
JPDA 架构研究6 - Agent利用环境指针访问VM (线程管理篇)
引入:上篇文章讲解了分类:内存管理,现在讲线程类操作的接口。分类2:线程类操作a.GetThreadState.获取线程状态jvmtiError GetThreadState(jvmtiEnv*env, jthreadthread, jint*thread_state_ptr)大家都知道线程有很多种状态,比如Alive,Terminated,Runnable,等待进入Synchron..
分类:编程语言   时间:2014-12-09 02:00:53    阅读次数:232
JPDA 架构研究5 - Agent利用环境指针访问VM (内存管理篇)
引入:我们在前面说到JVMTI的客户端Agent,又提到Agent通过环境指针来访问VM。这里就来看看环境指针到底有多大的访问VM的能力。分类1:内存管理a.Allocate.分配内存jvmtiError Allocate(jvmtiEnv*env, jlongsize, unsignedchar**mem_ptr)size:分配的字节数.mem_ptr:分配内存的首..
分类:其他好文   时间:2014-12-09 01:59:47    阅读次数:247
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!