【发布时间】:2014-01-06 18:51:49
【问题描述】:
我编写了一个 C 程序,它在我的机器上正确工作(即做它应该做的事情)。我将它移到另一台机器上,现在它没有按预期工作(即它没有崩溃,但它只是跳过了程序的整个部分)。我怀疑 scanf 的 %m 的使用,因为它是非标准的。注意我正在用 std=c99 编译我的 ptogram。我检查了我的机器和另一台机器上的 glibc 版本;它们分别是 (Ubuntu EGLIBC 2.13-20ubuntu5) 2.13 和 (GNU libc) 2.14.1。
有谁知道是 std 还是 glibc 版本有问题吗?
【问题讨论】:
-
堆栈溢出经验法则#7:如果 OP 说“我的程序工作正常”,则 OP 的程序充满了可怕的未定义行为,并且 OP 希望每个人都猜到总是会出现的问题起来。
-
#1 显示一些代码。 #2 描述如何判断它“只是跳过程序的整个部分”
-
你在两台机器上都用gcc编译吗?是同一个版本吗?
-
你确定你没有错误地使用 glibc 吗?
-
你在另一台机器上重建了吗?
标签: c cross-compiling glibc