最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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的評論 (共 條)

分享到微博請遵守國家法律
彰化县| 汽车| 丰原市| 肇源县| 加查县| 太保市| 益阳市| 怀化市| 吉林市| 波密县| 莱阳市| 太仆寺旗| 密山市| 江永县| 民乐县| 原阳县| 荆门市| 繁峙县| 甘孜县| 佳木斯市| 古浪县| 阿拉善盟| 阜阳市| 浮山县| 茂名市| 土默特右旗| 建平县| 惠东县| 基隆市| 涡阳县| 马山县| 建始县| 张北县| 宁国市| 林口县| 郧西县| 黄冈市| 香格里拉县| 资源县| 南汇区| 开化县|