读书人

编译有关问题

发布时间: 2012-04-02 19:58:59 作者: rapoo

编译问题
在redhat el 5中用gcc编译如下代码

#include "stdio.h"

#define COPYBLK(from, to) \
__asm__("cld\n\t" \
"rep\n\t" \
"movsl\n\t" \
::"c"(32),"S"(from),"D",(to))

int main()
{
char tmp1[32]={0};
char tmp2[32]={"my world is black!"};

COPYBLK(tmp2,tmp1);
printf("%s\n");

return 0;
}

为什么会出现以下错误:

tmptest.c: In function ‘main’:
tmptest.c:14: error: expected ‘(’ before ‘,’ token
请高手解答以下,谢谢

[解决办法]
"D"后面不应该有逗号吧,你是不是抄代码的时候抄错了
[解决办法]

探讨
"D"后面不应该有逗号吧,你是不是抄代码的时候抄错了

[解决办法]
你那是汇编么,写的挺让你看不懂的,为什么不用库函数memcpy

读书人网 >C语言

热点推荐