sách gpt4 ai đã đi

gcc - 什么 '__asm__(".previous");'意思?

In lại 作者:行者123 更新时间:2023-12-04 19:22:42 30 4
mua khóa gpt4 Nike

在尝试编译我的项目时,它使用了一些第三方头文件,使用 mingw 4.4,我遇到了以下错误:

Assembler messages:
Error: junk at end of line, first unrecognized character is '"'
Error: unknown pseudo-op: '.previous'



我在包含的标题之一的末尾找到了此代码:
__asm__(".section \".plc\"");
__asm__(".previous");

由于我对内嵌汇编器指令完全没有任何经验,因此我在谷歌上搜索了解释,但找不到我的两个基本问题的答案。什么 __asm__(".previous");实际上是这样做的,为什么有人会把它放在头文件的末尾。

这些是唯一的 __asm__整个项目的说明。我可以安全地删除它们吗?或者有没有办法定义 .previous 以使其成为已知的伪操作?

请赐教!

1 Câu trả lời

.previous是一个指令,允许您在两个 Sprite 部分之间来回交换。它是一种快捷方式,允许更密集的汇编文件,并允许您例如在代码流中声明初始化数据,反之亦然。

例如,假设您有一个包含数据和代码部分的汇编程序文件。

如果你想 - 在一个函数的中间 - 在数据段中声明一个常量,你可以像这样使用 .previous 语句:

  nop // some code

.previous // swaps current section (code) with previous section (data)

MyConstant:
.word 0x0001 // some data

.previous // swaps curent section (data) with previous section (code)

nop // more code

更多信息可以在引用手册中找到:

http://sourceware.org/binutils/docs-2.19/as/Previous.html#Previous

关于gcc - 什么 '__asm__(".previous");'意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2416879/

30 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com