【发布时间】:2013-11-24 23:47:34
【问题描述】:
#include <stdio.h>
#include <string.h>
int foo(char* a)
{ char str[10];
if (strlen(a)<10)
{
sprintf(str,"Yes");
puts(str);
return 0;
}
else
{
sprintf(str,"No");
puts(str);
return 1;
}
}
现在,假设在编写 LLVM 通行证时,我想确保不是调用 sprintf,而是调用 printf(使用相同的参数)。我该怎么做呢?
【问题讨论】:
-
这没有任何意义。
sprintf和printf的原型不同。在您的示例中,您没有向sprintf传递足够的参数。你到底想完成什么? -
已修复。我宁愿用一个 printf() 替换 {sprintf()+puts()} 通过 LLVM 传递。我是第一次尝试 LLVM,想知道如何去做。
标签: llvm llvm-clang llvm-ir