当前位置: 技术问答>linux和unix
linux 下进行交叉编译时switch问题,绝对不是程序问题
来源: 互联网 发布时间:2016-12-10
本文导语: 在linux下进行交叉编译时,使用编译器 arm-softfloat-linux-gnu-g++ switch (message) { case COMMANDREAD://注意此注释,放到case同行就会有问题,那就是“if(g_ptask != NULL){”没有编译进去一样。 if(g_ptask != NULL){ wData = 0x02; ...
在linux下进行交叉编译时,使用编译器 arm-softfloat-linux-gnu-g++
switch (message)
{
case COMMANDREAD://注意此注释,放到case同行就会有问题,那就是“if(g_ptask != NULL){”没有编译进去一样。
if(g_ptask != NULL){
wData = 0x02;
g_ptask->WriteValue(&wData, sizeof(wData));
}
default:
break;
}
注意上边的case语句,放到case同行就会有问题,那就是“if(g_ptask != NULL){”没有编译进去一样。会报错。
如果,我改为一下,把注释放到下一行,或者是不加注释的时候,编译就正常。
switch (message)
{
case COMMANDREAD:
//注意此注释,放到case同行就会有问题,那就是“if(g_ptask != NULL){”没有编译进去一样。
if(g_ptask != NULL){
wData = 0x02;
g_ptask->WriteValue(&wData, sizeof(wData));
}
default:
break;
}
据说是编译器的问题,不知道为何,有没有人碰到过这种情况??
switch (message)
{
case COMMANDREAD://注意此注释,放到case同行就会有问题,那就是“if(g_ptask != NULL){”没有编译进去一样。
if(g_ptask != NULL){
wData = 0x02;
g_ptask->WriteValue(&wData, sizeof(wData));
}
default:
break;
}
注意上边的case语句,放到case同行就会有问题,那就是“if(g_ptask != NULL){”没有编译进去一样。会报错。
如果,我改为一下,把注释放到下一行,或者是不加注释的时候,编译就正常。
switch (message)
{
case COMMANDREAD:
//注意此注释,放到case同行就会有问题,那就是“if(g_ptask != NULL){”没有编译进去一样。
if(g_ptask != NULL){
wData = 0x02;
g_ptask->WriteValue(&wData, sizeof(wData));
}
default:
break;
}
据说是编译器的问题,不知道为何,有没有人碰到过这种情况??
|
那是什么编码格式呢?
或者你试试把注释全部改为英文
|
把// 换成 /*注释的内容试试 */
|
文件自身是什么编码格式?
file your.cpp 看看
file your.cpp 看看
|
看起来像是编译器解析的问题~