正在转储C的库程序集代码

正在转储C的库程序集代码,c,assembly,C,Assembly,当我使用-S开关用GCC编译C程序时,我得到了我所编写的C程序的汇编代码。但生成的程序集文件有时包含库中的代码。比如说 bl remainder 是否有方法转储库函数的代码。在这种情况下,是否有办法查看库函数余数的代码 如果您知道Mark Plotnick建议的库函数名称或地址,则可以使用gdb反汇编库函数。这至少会让你知道它的代码是什么 然而,更好的答案是,当GCC调用标准库中的函数时,您应该下载实际的源代码!对于某些操作,源代码可能作为GCC发行版本身的一部分存在,而对于其他操作,它可能是

当我使用-S开关用GCC编译C程序时,我得到了我所编写的C程序的汇编代码。但生成的程序集文件有时包含库中的代码。比如说

bl remainder

是否有方法转储库函数的代码。在这种情况下,是否有办法查看库函数余数的代码

如果您知道Mark Plotnick建议的库函数名称或地址,则可以使用gdb反汇编库函数。这至少会让你知道它的代码是什么

然而,更好的答案是,当GCC调用标准库中的函数时,您应该下载实际的源代码!对于某些操作,源代码可能作为GCC发行版本身的一部分存在,而对于其他操作,它可能是glibc的一部分,但您使用的是开源软件,因此您可以通过Internet访问所有原始代码


我不能确切地确定您编译的体系结构看起来像ARM风格之一?。但无论如何,余数都可能是实现%运算符的内置函数,因此它是随GCC提供的。只需在gccgit存储库中搜索剩余部分,您的CPU名称就可以找到它。从这里开始:

objdump库?如果在调试器下运行程序,调试器通常可以反汇编特定函数。例如,在gdb中,您可以键入disass rements。由于动态库加载,这可能仅在程序启动后才起作用。