递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 82|回复: 0
打印 上一主题 下一主题

[视窗] 发现个好玩的

[复制链接]

20

主题

32

帖子

448

积分

中级会员

Rank: 3Rank: 3

积分
448
跳转到指定楼层
楼主
发表于 3 小时前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 005 于 2026-10-2 14:02 编辑

先给项目添加编译参数:

                    

                        

                           

                           
正在渲染火山代码...

                        

                    

                    复制代码
               

  1. @ #pragma section(".mycode", execute, read)
复制代码

给函数指定区段:
  1. <火山程序 类型 = "通常" 版本 = 1 />

  2. # @ #pragma code_seg(".mycode")
  3. # @ int my_add(int a, int b)
  4. # @ {
  5. # @     return a + b;
  6. # @ }
  7. # @ #pragma code_seg()
复制代码

如果需要也可以添加声明:
  1. <火山程序 类型 = "通常" 版本 = 1 />

  2. # @ #pragma code_seg(".mycode")
  3. # @ __declspec(noinline) static int my_add(int a, int b)
  4. # @ {
  5. # @     return a + b;
  6. # @ }
  7. # @ #pragma code_seg()
复制代码

剩下的就是给汇编代码了:
  1. 地址              机器码           汇编代码                                   
  2. 100BE000        8D0411        lea eax, dword ptr ds:[ecx+edx]        
  3. 100BE003        C3            ret                                    
复制代码

哔哔赖赖这么多,我看了主要就2个知识点:
1、可以指定某些函数到某个区段;
2、可以直接查段函数汇编代码;

能不能给个加精?








回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2026-10-2 17:00 , Processed in 0.080657 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表