Assembly GMP汇编代码?
在那里我可以找到为gmp-5.0.0编写的程序的汇编代码 我正在使用UBUNTU和G++编译器。。 编译代码的命令是“g++test.cc-o outp-lgmp” 实际上,我想知道1和0在内部发生了什么。。。Assembly GMP汇编代码?,assembly,gmp,Assembly,Gmp,在那里我可以找到为gmp-5.0.0编写的程序的汇编代码 我正在使用UBUNTU和G++编译器。。 编译代码的命令是“g++test.cc-o outp-lgmp” 实际上,我想知道1和0在内部发生了什么。。。 内存分配将如何进行,操作将如何在原始位上执行 您可以使用objdump来反汇编libgmp。不会有意思的 (代码的反汇编主要包括调用libgmp函数,除非反汇编libgmp,否则该函数不会显示“内部发生了什么”。) 也许您想改为阅读源代码?从gcc(1)手册页: -save-tem
内存分配将如何进行,操作将如何在原始位上执行 您可以使用
objdump
来反汇编libgmp
。不会有意思的
(代码的反汇编主要包括调用libgmp
函数,除非反汇编libgmp
,否则该函数不会显示“内部发生了什么”。)
也许您想改为阅读源代码?从gcc(1)
手册页:
-save-temps
Store the usual "temporary" intermediate files permanently; place
them in the current directory and name them based on the source
file. Thus, compiling foo.c with -c -save-temps would produce
files foo.i and foo.s, as well as foo.o. This creates a
preprocessed foo.i output file even though the compiler now
normally uses an integrated preprocessor.
您可以使用
-S
标志获取生成的汇编语言。请记住,这将主要包含为您的代码生成的程序集,而不是为您使用的库函数之类的东西生成的代码。“大部分”是因为它可以/将在包含的头文件中包含为内联函数生成的代码。代码是用C编写的,因此您应该查看源代码这将是理解汇编代码的第一步(通常理解“原始位”会发生什么就足够了)。无论如何都有一些程序集内联
然后,也许您可以在gdb中运行代码,并使用反汇编
命令查看少数特定代码的汇编代码,并尝试理解它们