递归火山软件开发平台

标题: 发现个好玩的 [打印本页]

作者: 005    时间: 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、可以直接查段函数汇编代码;

能不能给个加精?













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