2015-05-14 49 views
0

我需要做的是接受一个字符串,如函数:一个普通的字符串作为代码编译

int *ptr[20], *p, p2, p3[3]; 

和功能需要打印:

PTR需要80个字节。 p需要4个字节。 p2需要4个字节。 p3需要12个字节。

为了简化任务,我想使用字符串中的“假”代码作为“真实”代码,然后只打印函数sizeof(变量)来回答问题。我认为这是最简单的方法。 但如何做到这一点?

+1

请详细说明你的代码和真实代码是什么意思? – Saif

+0

和真实的代码是?顺便说一句,你还需要展示一些示例代码。 – Saif

+0

假代码是字符串内的代码。字符串“short * s [2]”是一个假代码,因为它不在Visual Studio或环境本身内部,而是在字符串内部。我需要使代码“真实”,因此它在环境中或使用任何步骤使其成为“真实”。因此,如果我使用函数sizeof(s),它将返回真正声明的数组的大小,并且与字符串中的内容相同。 – chen100

回答

1

你描述的是能够“评估”动态生成的代码。

有些语言 - 通常是评估(非编译)的语言 - 具有这样的特性,但C++没有。

即使这样做,这也不是一个好的解决方案。你需要一个解析器。对于正式的方法,您可以研究词法分析器和上下文无关的分析器。对于一个特别的方法......呃......做任何你想要的字符串操作。