青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

JACKY_ZZ[貓貓愛吃魚]

春風(fēng)拂面兩頰紅,秋葉灑地一片金。 夏荷搖曳一身輕,冬雪覆蓋大地銀。
posts - 30, comments - 123, trackbacks - 0, articles - 0

VC++/G++ 多態(tài)測試

Posted on 2019-11-28 11:05 jacky_zz 閱讀(201) 評論(0)  編輯 收藏 引用
base.h
 1 #ifndef BASE_H
 2 #define BASE_H
 3 
 4 #include <stdio.h>
 5 
 6 class Base
 7 {
 8 public:
 9     Base(int val) : m_val(val)
10     {
11         printf("Base::Base(int val) @ 0x%08X\n"this);
12     }
13 
14     virtual void say()
15     {
16         printf("void Base::say() @ 0x%08X\n"this);
17         printf("val = %d\n", GetVal());
18     }
19 
20     virtual ~Base()
21     {
22         printf("Base::~Base() @ 0x%08X\n"this);
23     }
24 
25 protected:
26     int GetVal() { return m_val; }
27 
28 private:
29     int m_val;
30 };
31 
32 #endif
child.h
 1 #ifndef CHILD_H
 2 #define CHILD_H
 3 
 4 #include <stdio.h>
 5 #include "base.h"
 6 
 7 class Child : public Base
 8 {
 9 public:
10     Child(int val) : Base(val)
11     {
12         printf("Child::Child(int val) @ 0x%08X\n"this);
13     }
14 
15     void say()
16     {
17         printf("void Child::say() @ 0x%08X\n"this);
18         printf("val = %d\n", GetVal());
19     }
20 
21     ~Child()
22     {
23         printf("Child::~Child() @ 0x%08X\n"this);
24     }
25 };
26 
27 #endif
28 
main.cpp
  1 #include "base.h"
  2 #include "child.h"
  3 
  4 static void test0();
  5 static void test();
  6 static void virfunc_call(Base *base);
  7 
  8 void test0()
  9 {
 10     int src = 1;
 11     int dst;   
 12 
 13 #ifdef WIN32
 14     dst = src;
 15 #else
 16     asm ("mov %1, %0\n\t"
 17         "add $1, %0"
 18         : "=r" (dst) 
 19         : "r" (src));
 20 #endif
 21 
 22     printf("dst=%d\n", dst);
 23 }
 24 
 25 void test(Base *base)
 26 
 27     int addr = 0;
 28 
 29 #ifdef WIN32
 30     printf("[1] addr=0x%08X base=0x%P\n", addr, base);
 31 #else
 32     printf("[1] addr=0x%08X base=0x%08X\n", addr, base);
 33 #endif
 34 
 35 #ifdef WIN32
 36     addr = *((int *)base);
 37 #else
 38     asm (
 39         "movl %0, %1\n\t"
 40         : "=r" (addr)
 41         : "r" (base)
 42     );
 43 #endif
 44 
 45 #ifdef WIN32
 46     printf("[2] addr=0x%08X base=0x%P\n", addr, base);
 47 #else
 48     printf("[2] addr=0x%08X base=0x%08X\n", addr, base);
 49 #endif
 50 }
 51 
 52 static void virfunc_call(Base *base)
 53 {
 54     typedef void (*FUNC)();
 55 
 56     int *pAddrBase = (int *)base;
 57     int addr = *(int *)base;
 58     int *pVirtualFuncBase = (int *)(*pAddrBase);
 59 
 60 #ifdef WIN32
 61     printf("\nvirfunc=0x%P\npAddrBase=0x%P\npVirtualFuncBase=0x%P\n\n", virfunc_call, pAddrBase, pVirtualFuncBase);
 62 #else
 63     printf("\nvirfunc=0x%08X\npAddrBase=0x%08X\npVirtualFuncBase=0x%08X\n\n", virfunc_call, pAddrBase, pVirtualFuncBase);
 64 #endif
 65 
 66     FUNC func = reinterpret_cast<FUNC>(*pVirtualFuncBase);
 67 
 68 #ifdef WIN32
 69     __asm {
 70         mov ecx, base
 71     }
 72 #else
 73     __asm__ __volatile__(
 74         "movl %0, %%ecx"
 75         :
 76         : "r" (base)
 77         :
 78     );
 79 #endif
 80 
 81     func();
 82 }
 83 
 84 int main(int argc, char *argv[])
 85 {
 86     Base *base1 = nullptr, *base2 = nullptr;
 87 
 88     base1 = new Base(1);
 89     // base1->say();
 90     virfunc_call(base1);
 91     // test(base1);
 92     delete base1;
 93 
 94     base2 = new Child(2);
 95     // base2->say();
 96     virfunc_call(base2);
 97     // test(base2);
 98     delete base2;
 99 
100     return 0;
101 }


VC++
cl /DWIN32 main.cpp


G++
g++ -o main main.cpp

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲午夜久久久久久久久电影院| 狠狠久久综合婷婷不卡| 亚洲国产天堂久久综合| 免费看亚洲片| 欧美国产在线视频| 在线性视频日韩欧美| 一区二区三区四区精品| 国产精一区二区三区| 久久九九精品| 久久婷婷久久| 99热在线精品观看| 亚洲视频图片小说| 国内精品美女av在线播放| 亚洲电影免费观看高清完整版在线 | 国产精品私房写真福利视频| 亚洲欧美久久久| 久久国产直播| 亚洲伦理自拍| 亚洲欧美一区二区激情| 狠狠色丁香婷综合久久| 亚洲国产精品va在线看黑人| 国产精品久久777777毛茸茸| 欧美影视一区| 欧美成人一区二区三区| 欧美一区二区视频观看视频| 久久亚洲影音av资源网| 亚洲尤物在线| 欧美成人在线免费视频| 亚洲欧美一区二区三区极速播放| 欧美在线观看视频在线| 亚洲美洲欧洲综合国产一区| 性18欧美另类| 一区二区三区色| 久久成人精品无人区| 亚洲在线免费视频| 欧美不卡视频一区| 久久久精品国产免费观看同学| 欧美极品影院| 欧美va亚洲va香蕉在线| 国产精品一区二区三区观看| 亚洲国产精品久久久| 国产日韩免费| 亚洲欧美清纯在线制服| 一本一本久久a久久精品综合麻豆| 欧美一区视频| 欧美一二三视频| 欧美日韩精品免费在线观看视频| 欧美成人福利视频| 国产一区二区久久精品| 亚洲伊人伊色伊影伊综合网| 一区二区三区精品视频| 农村妇女精品| 欧美高潮视频| 激情欧美日韩一区| 久久激情五月激情| 欧美在线看片| 国产精品国产三级国产aⅴ9色| 最新亚洲激情| 亚洲美女视频在线免费观看| 免费在线日韩av| 欧美成人dvd在线视频| 悠悠资源网久久精品| 久久久久久久久久久成人| 久久久久一区二区三区| 国产视频在线观看一区 | 久久亚洲综合色| 国产日韩在线亚洲字幕中文| 亚洲欧美怡红院| 欧美一区二区视频在线| 国产精品最新自拍| 欧美一区二区国产| 男女精品视频| 亚洲精品中文在线| 欧美精品网站| 亚洲午夜羞羞片| 欧美在线一区二区| 好看不卡的中文字幕| 久久蜜桃香蕉精品一区二区三区| 欧美成人午夜| 亚洲视频在线一区| 国产精品一二三四| 久久激情五月丁香伊人| 亚洲第一精品电影| 一区二区三区.www| 欧美性大战久久久久久久| 亚洲欧美电影院| 欧美.com| 中文精品视频一区二区在线观看| 国产精品毛片| 欧美在线影院在线视频| 亚洲大胆美女视频| 亚洲一本大道在线| 国产一区二区三区最好精华液| 久久久久久夜精品精品免费| 亚洲精品久久久久久久久久久久久| 亚洲午夜电影网| 国内精品视频一区| 欧美日韩国产精品| 久久国产婷婷国产香蕉| 亚洲人体一区| 久久久xxx| 99精品久久免费看蜜臀剧情介绍| 国产区日韩欧美| 欧美国产在线观看| 久久精精品视频| 日韩视频精品在线| 欧美成人午夜免费视在线看片| 亚洲一区www| 亚洲国产精品高清久久久| 国产精品―色哟哟| 欧美精选午夜久久久乱码6080| 欧美在线视频观看| 99视频精品| 欧美激情1区2区3区| 欧美一级视频免费在线观看| 亚洲精品中文字幕在线观看| 国产主播精品在线| 国产精品私人影院| 欧美精品一线| 蜜臀久久99精品久久久画质超高清 | 韩国精品在线观看| 国产精品久久中文| 欧美国产日韩在线| 久久久久9999亚洲精品| 亚洲综合久久久久| 日韩视频免费观看高清在线视频| 欧美国产日韩亚洲一区| 久久综合中文字幕| 久久久精品动漫| 欧美在线观看一二区| 亚洲淫片在线视频| 99热免费精品在线观看| 亚洲日本免费| 亚洲激情电影中文字幕| 亚洲电影免费观看高清完整版在线观看 | 国产精品久久久久久久久久免费| 另类天堂av| 久久久亚洲影院你懂的| 欧美有码在线观看视频| 亚洲欧美在线磁力| 香港久久久电影| 欧美中文字幕视频| 香蕉视频成人在线观看| 亚洲性感激情| 中文亚洲欧美| 亚洲欧美美女| 久久国产视频网| 久久婷婷激情| 欧美国产日韩免费| 欧美精品在线免费播放| 欧美日韩免费观看一区| 欧美日韩在线视频一区二区| 欧美日韩一区二区三区免费看| 欧美日韩亚洲激情| 国产精品久久久亚洲一区| 国产精品视频| 黄色成人在线免费| 亚洲激情综合| 亚洲午夜精品久久久久久浪潮| 亚洲综合色网站| 欧美在线免费视屏| 欧美成人免费视频| 亚洲精选大片| 午夜在线一区| 蜜桃av一区| 国产精品黄色| 国产综合久久久久久| 亚洲黄网站黄| 亚洲自拍偷拍麻豆| 久久亚洲精品伦理| 亚洲精品麻豆| 欧美亚洲一级片| 免费不卡欧美自拍视频| 欧美性片在线观看| 国内精品视频在线播放| 亚洲欧洲日韩综合二区| 午夜精品视频在线观看| 久久蜜臀精品av| 日韩午夜在线| 久久精品首页| 国产精品白丝jk黑袜喷水| 国语自产在线不卡| 亚洲视频 欧洲视频| 久久在线免费观看视频| 99成人精品| 久久久噜噜噜久噜久久| 国产精品成人一区二区三区夜夜夜| 狠狠色狠狠色综合人人| 亚洲制服欧美中文字幕中文字幕| 老司机精品导航| 亚洲网友自拍| 欧美激情网友自拍| 狠狠色丁香久久综合频道| 亚洲性av在线| 亚洲高清视频中文字幕| 欧美在线视频在线播放完整版免费观看| 欧美成人高清视频| 亚洲国产黄色片| 久久久久网址| 国外成人在线视频|