LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 886|回复: 2

gcc编译问题

[复制链接]
发表于 2006-8-23 17:59:46 | 显示全部楼层 |阅读模式
如下代码:
main()
{
printf("kldjfklsdjfkls
sdlkfjksldjflksdjf
sdfjsldkfjl\n");
}
用gcc3.3与gcc4.1.2进行编译,出现如下错误:
a.c: In function 'main':
a.c:3: error: missing terminating " character
a.c:4: error: 'sdkjfklsdjfkldjs' undeclared (first use in this function)
a.c:4: error: (Each undeclared identifier is reported only once
a.c:4: error: for each function it appears in.)
a.c:5: error: expected ')' before 'sdklfjlsdkflsdf'
a.c:5: error: stray '\' in program
a.c:5: error: missing terminating " character
a.c:6: error: expected ';' before '}' token
意思是,字符串不能换行,但在gcc2.7或2.9却可以编译通过,如何解决这个问题?在新版的gcc也能处理这个问题。
发表于 2006-8-23 19:28:54 | 显示全部楼层

  1. char a[] = "\
  2. abc\
  3. def";

  4. char b[] =
  5. "abc"
  6. "def";
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-23 20:13:36 | 显示全部楼层

难道要一一这样进行修改?

难道新版的GCC就不再支持这样的特性了?
有现成的shell脚本来完成这件事吗?因为有很多代码都有字符分行问题。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表