小编tri*_*ron的帖子

汇编和模板类

我正在研究小项目并尝试将一些硬编码值用于内联汇编.为此,我正在使用模板.我创建了一个代码片段来显示我所看到的内容

      #include <iostream>

      template <size_t T>
      struct MyClass
      {
          size_t myValue = T;

          void doSomething()
          {
              size_t value = T;
              __asm
              {
                  mov eax, [T]
                  mov [value], eax
              }
              std::cout << value << std::endl;
          }
      };

   int main()
   {
       auto o = new MyClass<999>();

       o->doSomething();
       return 0;
   }
Run Code Online (Sandbox Code Playgroud)

事实证明,对于汇编代码,它试图使用数据段而不是"直接粘贴数字"

        ; 25   : {

            push    ebp
            mov ebp, esp
            push    ecx

        ; 26   :     auto o = new MyClass<999>();

            push    4
            call    ??2@YAPAXI@Z                ; operator new
            add esp, 4

        ; 14 …
Run Code Online (Sandbox Code Playgroud)

c++ assembly

5
推荐指数
1
解决办法
399
查看次数

标签 统计

assembly ×1

c++ ×1