[size=0.83em]1.png (9.19 KB, 下载次数: 0)
下载附件
[color=rgb(153, 153, 153) !important]2020-10-31 23:23 上传
或者直接导入汇编文件所编译好的静态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)
- 关于火山视窗平台如何使用汇编代码
- http://bbs.voldp.com/forum.php?mod=viewthread&tid=7187
- (出处: 火山软件开发平台)
复制代码
|