greenhill编译器的bug?

我用的是greenhill 的multi编译器,但是在编译下面可变参数的代码时有bug,同样的code在gcc上就没问题。
我跟踪过汇编代码,基本确定是green hill整错了。  原因比较复杂,感兴趣的自己汇编看看

int put_strf (const char *fmt, ...)
{
    ck_va_list    args;
    unsigned int    printed_len = 0;
    char *        p;
    char    printk_buf[256];

    p = printk_buf;
    /* Emit the output into the temporary buffer */
    ck_va_start(args, fmt);
    printed_len = ck_vsnprintf(printk_buf, sizeof(printk_buf), (char *)fmt, args);
    ck_va_end(args);
    put_str(p);
    return 0;
}
posted @ 2009-06-28 00:10  beinghu2  阅读(1603)  评论(0编辑  收藏  举报
yahoo