[LLVMdev] could you give me some advice ?

Yimin Xia ymxia at nudt.edu.cn
Sat Mar 25 16:43:59 PST 2006


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





More information about the llvm-dev mailing list