五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

分享到微博請遵守國家法律
南城县| 浦城县| 阳西县| 抚远县| 柞水县| 文安县| 温泉县| 柯坪县| 海兴县| 桦甸市| 浦东新区| 罗平县| 高雄县| 建宁县| 瑞昌市| 遵义市| 玉环县| 玉门市| 彝良县| 兴化市| 甘洛县| 安多县| 黄石市| 巴林右旗| 华容县| 交口县| 陕西省| 云和县| 饶阳县| 博罗县| 读书| 秭归县| 桂平市| 磴口县| 刚察县| 旌德县| 镇原县| 固原市| 龙口市| 博乐市| 垦利县|