Assembly GMP汇编代码?

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

在那里我可以找到为gmp-5.0.0编写的程序的汇编代码 我正在使用UBUNTU和G++编译器。。 编译代码的命令是“g++test.cc-o outp-lgmp”

实际上,我想知道1和0在内部发生了什么。。。
内存分配将如何进行,操作将如何在原始位上执行

您可以使用
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中运行代码,并使用
反汇编
命令查看少数特定代码的汇编代码,并尝试理解它们