lizhuo,您好!
不是很明白你的意思,好像你想从一个ConstantExpr::getPtrPtrFromArrayPtr 指针得到这个ConstantExpr 的内容,
但你的困难在哪里?
======= 2006-03-25 22:04:14 您在来信中写道:======>hi
>I have one llvm program like this :
>..
>; define ConstantArray
>"E1$str" = internal constant [3 x sbyte] c"E1\00"
>
>; use getPtrPtrFromArrayPtr to define SByte* from ConstantArray
>"E1$entry" = internal constant sbyte* getelementptr ([3 x sbyte]*
"E1$str", uint 0, uint 0)
>..
>
>when i want to get std::string object from this declaration in another
program
>
> Module* m = loadModule("XXX.bc");
> Constant* c = findValue(m,"E1$entry");
> GlobalVariable* gv = cast<GlobalVariable>(c->getOperand(0));
> ConstantArray* ca = cast<ConstantArray>(gv->getOperand(0));
> std::string str = ca->getAsString();
>
>now str = "E1"
>these code looks a little ugly , could you tell me better solution ?
>In another word , I want to know the reverse operation of
ConstantExpr::getPtrPtrFromArrayPtr .
>
>thanks
>
>
>_______________________________________________
>LLVM Developers mailing list
>LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
= = = = = = = = = = = = = = = = = = =
致
礼!
Yimin Xia
ymxia at nudt.edu.cn
2006-03-26