【发布时间】:2019-08-30 13:32:29
【问题描述】:
首先,我是 C 编程的初学者。我一直在寻找解决方案很长时间,但我不知道 mi 代码或 Eclipse 配置发生了什么。基本上,当我在代码中插入来自外部库的函数时,就会出现问题。由于某种原因,eclipse 无法调试代码。
让我用一个简单的例子来解释一下:
工作不正确:
int main(void) {
char version[32];
puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */
En2version(version);
printf("Version %s \n", version);
return 0;
}
正常工作:
int main(void) {
char version[32];
puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */
printf("Version %s \n", version);
return 0;
}
En2version() 是从外部库中获取的函数,只需从代码中删除它就可以使其正常工作。
我认为该库已正确链接到项目(链接.lib 时没有错误)。您能否帮助我了解正在发生的事情?
谢谢大家。
【问题讨论】:
-
En2version的原型是什么,它应该做什么? -
原型:void En2version(char * version);它应该用库的版本号填充“版本”变量
-
“工作不正确”是什么意思。它打印任何东西吗?它会中止吗?
-
它显示“终止”,但控制台中没有打印任何内容。当我抑制该行时,它会打印 !!!Hello World!!!版本 Ä[´tÐ@
-
当行被抑制时,它会打印未初始化的 char 变量的值,但这不是真正的问题。