飞扬工作室 发表于 2020-10-31 23:24:29

关于火山视窗平台如何使用汇编代码

其实非常简单,和cpp文件一样处理就行,类似如下:



或者直接导入汇编文件所编译好的静态lib:



这两个属性可以根据实际情况设置在包/类/方法上.
在系统安装目录的类库中有汇编源文件的例子:
plugins\vprj_win\classlib\sys\base\libs\win_base\projects\x64\asm_64\spin_lock_64.asm

如果您开发的是32位程序,直接采用如下方式内嵌汇编代码就行:

@ _asm {
@   mov eax, 0
@   mov ecx, eax
@ }

64位程序不支持直接嵌入汇编代码,就要采用前面所提到的方式引入单独的汇编源文件或汇编源文件所编译的静态库,引入完毕后使用类似以下指令导入其中符号:
    @ extern "C" void _spin_lock (pthread_spinlock_t* pSpinLocker);
    @ extern "C" INT_P _spin_trylock (pthread_spinlock_t* pSpinLocker);

以上导入的是前面所提到的spin_lock_64.asm中的符号,然后直接在程序中直接调用即可,譬如:
    @ _spin_trylock (&m_lock)


4566704 发表于 2020-10-31 23:41:45

火山牛批

网猫 发表于 2020-11-1 02:12:33

:)牛

huoshan518 发表于 2020-11-1 08:45:10

置入代码()可以?

Zero 发表于 2020-11-1 13:17:18

本帖最后由 Zero 于 2020-11-1 13:18 编辑

huoshan518 发表于 2020-11-1 08:45
置入代码()可以?
置入代码 ({137,192})
__asm{
_emit 137
_emit 192
}


1185907650 发表于 2020-11-1 15:32:35

吴总666

675550115 发表于 2020-11-1 17:19:07

有__try 吗?

609177738 发表于 2020-11-8 14:19:19

能不能来个简单的例子

Sth 发表于 2020-11-8 20:38:10

不太懂 可以提供一下X64的汇编例子吗

327065266 发表于 2020-11-8 23:02:05

:loveliness:哥,求例子.........小白还不咋会..........
页: [1] 2
查看完整版本: 关于火山视窗平台如何使用汇编代码