今天聊一下C语言 | 每日基础(80)

读者:为什么我在连接时明确地指定了正确的函数库, 我还是得到库函数未定义错误?

阿一:许多连接器只对对象文件和函数库进行一次扫描, 同时从函数库中提取适合 当前未定义函数的模块。所以函数库和对象文件 (以及对象文件之间) 的连接顺序 很重要; 通常, 你希望最后搜索函数库。例如, 在 Unix 系统中, 把 -l 参数放在命令 行的后部。

读者:连接器说 end 未定义代表什么意思?

阿一:这是个老 Unix 系统中的连接器所用的俏皮话。当有其它符号未定义时, 你才 会得到 end 未定义的信息, 解决了其它的问题, 有关 end 的错误信息就会消失。

读者:我的编译器提示printf 未定义,这是为什么?

阿一:据传闻, 某些用于微软视窗系统的 C 编译器不支持 printf()。你也许可以让这 样的编译器认为你写的是 “控制台程序”, 这样编译器会打开 “控制台窗口” 从而支 持 printf()。

正文完