我想知道找出字符串文字大小限制的方法是什么。我猜不同的编译器确实提供了字符串文字的最大大小限制,但是我如何以编程方式找到它,或者有一些标准头文件保持这个大小限制为一些宏??
问问题
86 次
我检查了 C99 草案,它只是说字符串文字至少应支持 4,095 个字符;似乎没有最大长度。这对我来说很有意义;为什么要施加这样的限制?
我真的不认为你可以在运行时“检测”到这一点。当然,粗略地说,您应该能够在编译时通过检查编译是否成功来检测它。编写一个程序,生成一个包含给定长度的字符串文字的程序,然后尝试构建该输出并迭代直到构建失败。当然,你只会学到一些关于你的特定编译器的东西,而不是一般的课程。
也许您应该尝试陈述您的实际问题,但您似乎是在暗示它。