国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

typedef example

2021-10-18 22:00 作者:晨夕星海  | 我要投稿


#include <stdio.h>

int main(){
	int a=1;
	int b=15;
 	int c=a+b;
}

用一下命令編譯成.s,其中“-S”用于指定僅編譯,“-O0”用于阻止編譯器代碼優(yōu)化

gcc -S -O0 -o a.s a.c

結(jié)果如下:

	.file	"a.c"
	.text
	.def	__main;	.scl	2;	.type	32;	.endef
	.globl	main
	.def	main;	.scl	2;	.type	32;	.endef
	.seh_proc	main
main:
	pushq	%rbp
	.seh_pushreg	%rbp
	movq	%rsp, %rbp
	.seh_setframe	%rbp, 0
	subq	$48, %rsp
	.seh_stackalloc	48
	.seh_endprologue
	call	__main
	movl	$1, -4(%rbp)
	movl	$15, -8(%rbp)
	movl	-4(%rbp), %edx
	movl	-8(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, -12(%rbp)
	movl	$0, %eax
	addq	$48, %rsp
	popq	%rbp
	ret
	.seh_endproc
	.ident	"GCC: (GNU) 9.2.0"

使用typedef的版本:

#include <stdio.h>

typedef int Intenger;

int main(){
	Intenger a=1;
	Intenger b=15;
 	Intenger c=a+b;
}

編譯:

gcc -S -O0 -o b.s b.c

結(jié)果:

	.file	"b.c"
	.text
	.def	__main;	.scl	2;	.type	32;	.endef
	.globl	main
	.def	main;	.scl	2;	.type	32;	.endef
	.seh_proc	main
main:
	pushq	%rbp
	.seh_pushreg	%rbp
	movq	%rsp, %rbp
	.seh_setframe	%rbp, 0
	subq	$48, %rsp
	.seh_stackalloc	48
	.seh_endprologue
	call	__main
	movl	$1, -4(%rbp)
	movl	$15, -8(%rbp)
	movl	-4(%rbp), %edx
	movl	-8(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, -12(%rbp)
	movl	$0, %eax
	addq	$48, %rsp
	popq	%rbp
	ret
	.seh_endproc
	.ident	"GCC: (GNU) 9.2.0"

用Windows的fc命令對比兩次結(jié)果:

>fc a.s b.s
正在比較文件 a.s 和 B.S
***** a.s
 ? ? ? ?.file ? "a.c"
 ? ? ? ?.text
***** B.S
 ? ? ? ?.file ? "b.c"
 ? ? ? ?.text
*****

除了文件名,沒有任何不同,typedef并不會影響匯編代碼

typedef example的評論 (共 條)

分享到微博請遵守國家法律
新民市| 芒康县| 华安县| 阿坝县| 奎屯市| 曲麻莱县| 太仆寺旗| 湖口县| 林西县| 颍上县| 嘉祥县| 那坡县| 奎屯市| 黎川县| 韶关市| 龙里县| 曲水县| 玉门市| 安义县| 镇平县| 丰顺县| 祁东县| 汝城县| 临邑县| 浦城县| 侯马市| 井陉县| 宁武县| 博野县| 库尔勒市| 婺源县| 信阳市| 闽侯县| 阿鲁科尔沁旗| 历史| 赤水市| 长岛县| 额济纳旗| 三都| 福州市| 突泉县|