比如我在IDE浏览C库中floor()的定义,使用转到定义,
在_Check_return_ _ACRTIMP double __cdecl floor(_In_ double _X);
这里我就找不到后面的代码定义了,是我操作错误了吗?
请问:
编译器是如何实现寻找代码的定义的?它是不是只能寻找添加到工程的定义函数,而不能寻找封装的库?
如果要阅读源代码需要自己去根目录找对应头文件阅读吗?
比如我在IDE浏览C库中floor()的定义,使用转到定义,
在_Check_return_ _ACRTIMP double __cdecl floor(_In_ double _X);
这里我就找不到后面的代码定义了,是我操作错误了吗?
请问:
编译器是如何实现寻找代码的定义的?它是不是只能寻找添加到工程的定义函数,而不能寻找封装的库?
如果要阅读源代码需要自己去根目录找对应头文件阅读吗?
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.5k 阅读
3 回答477 阅读✓ 已解决
你找不到是因为没有把C库代码加入到你的IDE工程...
注意区分编辑器(比如你的IDE)和编译器(如gcc)。编辑器找代码定义显然是软件自己的功能,需要你将函数定义的文件加入到你的IDE工程..比如你讲C库文件添加到工程就能找到了
编译器压根不需要找到C库代码的定义,它只需要在链接(ld)时,找到
libc.so
就行了,libc.so
有这些函数的符号。需要