c语言大神,这个程序是什么意思,怎么得出来的结果

c语言大神,这个程序是什么意思,怎么得出来的结果,第1张

这个程序的功能是求圆柱体的体积。

文字的意思是scanf可以根据格式符%d、%c区分输入的数据类型。格式符为%d时,读取整数值,格式符为%c时,读取字符。

代码很简单,读取圆柱体底面半径r、圆柱体的高h、读取字符(输入的字符是r,那么就读取r)

然后运用圆柱体体积公式求体积,并输出这个体积的值。

我看你这个是win下面的代码,我是用Ubuntu编译的,希望你能使用。

file "textcpp"

local _ZStL8__ioinit

comm _ZStL8__ioinit,1,1

section rodata

align 8

LC0:

string "\350\257\267\350\276\223\345\205\245\345\215\201\345\220\215\345\220\214\345\255\246\347\232\204\346\210\220\347\273\251\357\274\232"

LC1:

string "\344\274\230\357\274\232"

LC2:

string " \346\257\224\344\276\213\357\274\232"

LC3:

string "%"

LC4:

string "\350\211\257\357\274\232"

LC5:

string "\344\270\255\357\274\232"

LC6:

string "\345\217\212\346\240\274\357\274\232"

LC7:

string "\344\270\215\345\217\212\346\240\274\357\274\232"

LC8:

string "pause"

text

globl main

type main, @function

main:

LFB1021:

cfi_startproc

pushq %rbp

cfi_def_cfa_offset 16

cfi_offset 6, -16

movq %rsp, %rbp

cfi_def_cfa_register 6

pushq %rbx

subq $88, %rsp

cfi_offset 3, -24

movq %fs:40, %rax

movq %rax, -24(%rbp)

xorl %eax, %eax

movl $0, -92(%rbp)

movl $0, -88(%rbp)

movl $0, -84(%rbp)

movl $0, -80(%rbp)

movl $0, -76(%rbp)

movl $LC0, %esi

movl $_ZSt4cout, %edi

call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc

movl $0, -72(%rbp)

L3:

cmpl $9, -72(%rbp)

jg L2

leaq -64(%rbp), %rax

movl -72(%rbp), %edx

movslq %edx, %rdx

salq $2, %rdx

addq %rdx, %rax

movq %rax, %rsi

movl $_ZSt3cin, %edi

call _ZNSirsERi

addl $1, -72(%rbp)

jmp L3

L2:

movl $0, -68(%rbp)

L10:

cmpl $9, -68(%rbp)

jg L4

movl -68(%rbp), %eax

cltq

movl -64(%rbp,%rax,4), %eax

cmpl $89, %eax

jle L5

addl $1, -92(%rbp)

L5:

movl -68(%rbp), %eax

cltq

movl -64(%rbp,%rax,4), %eax

cmpl $89, %eax

jg L6

movl -68(%rbp), %eax

cltq

movl -64(%rbp,%rax,4), %eax

cmpl $79, %eax

jle L6

addl $1, -88(%rbp)

L6:

movl -68(%rbp), %eax

cltq

movl -64(%rbp,%rax,4), %eax

cmpl $79, %eax

jg L7

movl -68(%rbp), %eax

cltq

movl -64(%rbp,%rax,4), %eax

cmpl $69, %eax

jle L7

addl $1, -84(%rbp)

L7:

movl -68(%rbp), %eax

cltq

movl -64(%rbp,%rax,4), %eax

cmpl $69, %eax

jg L8

movl -68(%rbp), %eax

cltq

movl -64(%rbp,%rax,4), %eax

cmpl $59, %eax

jle L8

addl $1, -80(%rbp)

L8:

movl -68(%rbp), %eax

cltq

movl -64(%rbp,%rax,4), %eax

cmpl $59, %eax

jg L9

addl $1, -76(%rbp)

L9:

addl $1, -68(%rbp)

jmp L10

L4:

movl -92(%rbp), %edx

movl %edx, %eax

sall $2, %eax

addl %edx, %eax

addl %eax, %eax

movl %eax, %ebx

movl $LC1, %esi

movl $_ZSt4cout, %edi

call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc

movq %rax, %rdx

movl -92(%rbp), %eax

movl %eax, %esi

movq %rdx, %rdi

call _ZNSolsEi

movl $LC2, %esi

movq %rax, %rdi

call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc

movl %ebx, %esi

movq %rax, %rdi

call _ZNSolsEi

movl $LC3, %esi

movq %rax, %rdi

call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc

movl $_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, %esi

movq %rax, %rdi

call _ZNSolsEPFRSoS_E

movl -88(%rbp), %edx

movl %edx, %eax

sall $2, %eax

addl %edx, %eax

addl %eax, %eax

movl %eax, %ebx

movl $LC4, %esi

movl $_ZSt4cout, %edi

call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc

movq %rax, %rdx

movl -88(%rbp), %eax

movl %eax, %esi

movq %rdx, %rdi

call _ZNSolsEi

movl $LC2, %esi

movq %rax, %rdi

call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc

movl %ebx, %esi

movq %rax, %rdi

call _ZNSolsEi

movl $LC3, %esi

movq %rax, %rdi

call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc

movl $_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, %esi

movq %rax, %rdi

call _ZNSolsEPFRSoS_E

movl -84(%rbp), %edx

movl %edx, %eax

sall $2, %eax

addl %edx, %eax

addl %eax, %eax

movl %eax, %ebx

movl $LC5, %esi

movl $_ZSt4cout, %edi

call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc

movq %rax, %rdx

movl -84(%rbp), %eax

movl %eax, %esi

movq %rdx, %rdi

call _ZNSolsEi

movl $LC2, %esi

movq %rax, %rdi

call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc

movl %ebx, %esi

movq %rax, %rdi

call _ZNSolsEi

movl $LC3, %esi

movq %rax, %rdi

call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc

movl $_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, %esi

movq %rax, %rdi

call _ZNSolsEPFRSoS_E

movl -80(%rbp), %edx

movl %edx, %eax

sall $2, %eax

addl %edx, %eax

addl %eax, %eax

movl %eax, %ebx

movl $LC6, %esi

movl $_ZSt4cout, %edi

call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc

movq %rax, %rdx

movl -80(%rbp), %eax

movl %eax, %esi

movq %rdx, %rdi

call _ZNSolsEi

movl $LC2, %esi

movq %rax, %rdi

call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc

movl %ebx, %esi

movq %rax, %rdi

call _ZNSolsEi

movl $LC3, %esi

movq %rax, %rdi

call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc

movl $_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, %esi

movq %rax, %rdi

call _ZNSolsEPFRSoS_E

movl -76(%rbp), %edx

movl %edx, %eax

sall $2, %eax

addl %edx, %eax

addl %eax, %eax

movl %eax, %ebx

movl $LC7, %esi

movl $_ZSt4cout, %edi

call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc

movq %rax, %rdx

movl -76(%rbp), %eax

movl %eax, %esi

movq %rdx, %rdi

call _ZNSolsEi

movl $LC2, %esi

movq %rax, %rdi

call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc

movl %ebx, %esi

movq %rax, %rdi

call _ZNSolsEi

movl $LC3, %esi

movq %rax, %rdi

call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc

movl $_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, %esi

movq %rax, %rdi

call _ZNSolsEPFRSoS_E

movl $LC8, %edi

call system

movl $0, %eax

movq -24(%rbp), %rcx

xorq %fs:40, %rcx

je L12

call __stack_chk_fail

L12:

addq $88, %rsp

popq %rbx

popq %rbp

cfi_def_cfa 7, 8

ret

cfi_endproc

LFE1021:

size main, -main

type _Z41__static_initialization_and_destruction_0ii, @function

_Z41__static_initialization_and_destruction_0ii:

LFB1030:

cfi_startproc

pushq %rbp

cfi_def_cfa_offset 16

cfi_offset 6, -16

movq %rsp, %rbp

cfi_def_cfa_register 6

subq $16, %rsp

movl %edi, -4(%rbp)

movl %esi, -8(%rbp)

cmpl $1, -4(%rbp)

jne L15

cmpl $65535, -8(%rbp)

jne L15

movl $_ZStL8__ioinit, %edi

call _ZNSt8ios_base4InitC1Ev

movl $__dso_handle, %edx

movl $_ZStL8__ioinit, %esi

movl $_ZNSt8ios_base4InitD1Ev, %edi

call __cxa_atexit

L15:

nop

leave

cfi_def_cfa 7, 8

ret

cfi_endproc

LFE1030:

size _Z41__static_initialization_and_destruction_0ii, -_Z41__static_initialization_and_destruction_0ii

type _GLOBAL__sub_I_main, @function

_GLOBAL__sub_I_main:

LFB1031:

cfi_startproc

pushq %rbp

cfi_def_cfa_offset 16

cfi_offset 6, -16

movq %rsp, %rbp

cfi_def_cfa_register 6

movl $65535, %esi

movl $1, %edi

call _Z41__static_initialization_and_destruction_0ii

popq %rbp

cfi_def_cfa 7, 8

ret

cfi_endproc

LFE1031:

size _GLOBAL__sub_I_main, -_GLOBAL__sub_I_main

section init_array,"aw"

align 8

quad _GLOBAL__sub_I_main

hidden __dso_handle

ident "GCC: (Ubuntu 540-6ubuntu1~16049) 540 20160609"

section noteGNU-stack,"",@progbits

以上,如果有需要我把文件给你传上来。

可以把普通的Java程序做成真正的exe,也就是单一个exe就可以在没有安装JVM的机器上运行。这样的工具常见的有JET和gcj前者是收费的,而且做出来的exe还是需要一堆dll。推荐使用gcj他有windows和Linux版,直接下载zip包,不需要安装,里面有不少例子,一些build的批处理文件。从原理来说gcj自己实现了JVM规范,也就是你编写一个HelloWorldjava,其中的main方法为Systemoutprintln("foo");

当使用gcj把它做成exe(大约2M),运行这个exe时,会启动里面的一个小型jvm,在这上面跑HelloWorld。

其实,把Java做成纯exe实在是吃力不讨好,有很多限制,文件又大。

我比较倾向另几种做法:

使用InstallAnywhere等工具,制作一个exe的安装包

用户可以选择使用他机器上的JRE或是这个安装包内的JRE来运行程序

这是很常见的一种做法,如JBuilder就是这么做的。

这样的好处是不要求对方机器上装有JRE,而且你原来的程序不需要任何改动。

InstallAnywhere中一个压缩的JRE大概是8M。

制作成可执行的jar,也就是在META-INF的MANIFEST文件制定Main-Class

可以通过命令行java -jar jarfilejar来执行,windows默认的把jar使用javaw -jar打开,所以有些机器上可以直接双击jar运行。

制作伪exe,其实和上一种做法是一样的,只不过做成exe,调用系统的javaexe来运行它,这样的工具有nativeJ,exe4j等

其实Java不像VB,Delphi只是一个语言,而是一个平台。

jar是最常用的部署单元,做成exe没什么意思。

一、exe4j。

说明:exe4j可以将Jar文件制作成exe文件,但需jre支持,也可将Jar文件放在外面。

软件性质:共享软件

下载地址:>

最简单的Java程序:

//javapjava

public class class_name {

public static void main(String []args) {

Systemoutprintln("Hello World");

}

}

如果配置好了计算机环境变量,就打开命令行窗口,输入:

javac javapjava

java javap

然后就输出Hello World了

随便哪个编辑器都是可以的,后缀名要是java的文件就行,其他后缀名的没试过,我也忘了可不可以了,好像其他格式的也是可以的,只要里面的内容合法就行

以上就是关于c语言大神,这个程序是什么意思,怎么得出来的结果全部的内容,包括:c语言大神,这个程序是什么意思,怎么得出来的结果、求大神把这个C++代码变成汇编语言程序代码、JAVA代码怎么变成可运行程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10162002.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存