递归火山软件开发平台

标题: 关于火山视窗平台如何使用汇编代码 [打印本页]

作者: 飞扬工作室    时间: 2020-10-31 23:24
标题: 关于火山视窗平台如何使用汇编代码
其实非常简单,和cpp文件一样处理就行,类似如下:

(, 下载次数: 129)

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

(, 下载次数: 133)

这两个属性可以根据实际情况设置在包/类/方法上.
在系统安装目录的类库中有汇编源文件的例子:
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
火山牛批
作者: 网猫    时间: 2020-11-1 02:12
  牛
作者: huoshan518    时间: 2020-11-1 08:45
置入代码()可以?
作者: Zero    时间: 2020-11-1 13:17
本帖最后由 Zero 于 2020-11-1 13:18 编辑
huoshan518 发表于 2020-11-1 08:45
置入代码()可以?
  1. 置入代码 ({137,192})
复制代码
  1. __asm{  
  2.   _emit 137
  3.   _emit 192
  4. }
复制代码




作者: 1185907650    时间: 2020-11-1 15:32
吴总666
作者: 675550115    时间: 2020-11-1 17:19
有__try 吗?
作者: 609177738    时间: 2020-11-8 14:19
能不能来个简单的例子
作者: Sth    时间: 2020-11-8 20:38
不太懂 可以提供一下X64的汇编例子吗
作者: 327065266    时间: 2020-11-8 23:02
哥,求例子.........小白还不咋会..........
作者: 新手上路    时间: 2020-11-9 08:26
以前易语言里面3000字节大小的汇编文件直接在资源里面,然后置入代码,转火山应该怎么转过来啊?
作者: c295553914    时间: 2020-11-10 21:22
这怎么用的?
作者: 很哇撒    时间: 2020-12-25 16:54
@视窗.外部库.X64是怎么出来的啊  我弄的只有@视窗.外部库  没有.x64啊
作者: 飞扬工作室    时间: 2020-12-25 18:21
后面直接加啊
作者: 928880189    时间: 2021-1-20 21:20
火山的置入代码有问题
编译后置入代码会被优化掉 导致运行带置入代码的地方就蹦了
作者: zzh233    时间: 2022-1-25 00:49
(, 下载次数: 221) 这一段易语言的代码 如何翻译为火山视窗的 请大神指导一下 万分感谢

作者: 杨涛    时间: 2024-9-28 23:59
请发一个官方案例,没有搜索到相关使用的案例。
作者: wscpf1919    时间: 2024-9-29 00:18
928880189 发表于 2021-1-20 21:20
火山的置入代码有问题
编译后置入代码会被优化掉 导致运行带置入代码的地方就蹦了 ...

禁止编译优化就好了,这个问题我已经解决




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4