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

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>
            亚洲在线第一页| 久久精品91| 亚洲欧美日韩综合aⅴ视频| 亚洲精品美女91| 亚洲第一网站| 亚洲区一区二| 一区二区三区 在线观看视| 亚洲午夜视频| 久久精品亚洲| 欧美国产精品v| 在线观看日韩专区| 在线观看视频一区| 亚洲精品三级| 欧美一区二区高清在线观看| 久久久夜精品| 亚洲日韩中文字幕在线播放| 日韩亚洲在线观看| 亚洲欧美在线视频观看| 久久夜色精品国产欧美乱| 欧美区一区二区三区| 国产精品丝袜白浆摸在线| 永久免费毛片在线播放不卡| 亚洲视频在线二区| 媚黑女一区二区| 一本色道久久88综合日韩精品| 欧美一区二区三区在| 麻豆精品精华液| 国产精品久久久久秋霞鲁丝| 精品成人在线| 亚洲永久在线观看| 欧美fxxxxxx另类| 一区二区高清视频在线观看| 欧美一区二区视频观看视频| 欧美激情一区二区三区四区 | 免费欧美在线视频| 在线一区观看| 另类专区欧美制服同性| 国产精品伦理| 99精品国产在热久久婷婷| 久久久久国产精品麻豆ai换脸| 亚洲欧洲日韩女同| 久久久久久久久久久久久女国产乱| 欧美性色aⅴ视频一区日韩精品| 亚洲高清电影| 久久乐国产精品| 亚洲欧美日韩综合一区| 欧美香蕉大胸在线视频观看| 日韩一本二本av| 亚洲国产欧美一区二区三区同亚洲| 欧美影院午夜播放| 国产欧美一级| 欧美亚洲日本国产| 中文日韩电影网站| 欧美调教视频| 亚洲一区三区电影在线观看| 日韩视频在线观看一区二区| 欧美激情在线| 在线亚洲精品| 宅男噜噜噜66一区二区| 欧美三级电影一区| 亚洲一品av免费观看| 日韩午夜精品| 国产精品igao视频网网址不卡日韩| 99在线观看免费视频精品观看| 亚洲国产精品激情在线观看| 欧美成人午夜| 牛牛影视久久网| 一区免费观看视频| 蜜月aⅴ免费一区二区三区| 久久精品一区四区| 亚洲国产精品成人综合色在线婷婷| 久久综合久久久久88| 美日韩精品免费| 亚洲少妇一区| 亚洲一区精彩视频| 国产一区999| 欧美黄色一区二区| 欧美区一区二| 欧美在线中文字幕| 久久久亚洲人| 中文久久精品| 午夜精品一区二区三区在线视| 韩国av一区二区| 最新精品在线| 国产精品人人做人人爽| 久久综合福利| 欧美国产日韩一区二区在线观看| 国产精品99久久不卡二区 | 欧美日韩国产一区二区三区| 亚洲少妇中出一区| 亚洲欧美日韩国产中文在线| 今天的高清视频免费播放成人| 欧美国产视频日韩| 欧美三级网址| 久久美女性网| 欧美精品亚洲| 久久字幕精品一区| 欧美日韩亚洲一区三区| 久久久久久成人| 欧美福利网址| 久久成人一区| 欧美精品一区二区三区在线看午夜| 亚洲欧美日韩在线综合| 狂野欧美激情性xxxx| 亚洲综合首页| 欧美成人性生活| 久久精品国产久精国产一老狼 | 欧美一级理论性理论a| 蜜桃久久av一区| 亚洲一区区二区| 女同性一区二区三区人了人一 | 欧美三级乱码| 麻豆久久精品| 国产精品蜜臀在线观看| 亚洲电影在线观看| 红桃视频成人| 亚洲视频在线观看免费| 亚洲三级影院| 免费一区视频| 欧美激情第9页| 在线欧美日韩国产| 欧美伊人久久久久久久久影院| 亚洲午夜小视频| 欧美日本三区| 亚洲欧洲偷拍精品| 亚洲日本在线观看| 久久综合网络一区二区| 久久蜜桃香蕉精品一区二区三区| 国产精品激情偷乱一区二区∴| 亚洲国产综合在线看不卡| 亚洲电影免费观看高清完整版在线观看| 亚洲女同在线| 欧美一级精品大片| 国产精品视频久久一区| 亚洲一区二区三区四区视频| 亚洲影院在线| 国产麻豆91精品| 亚洲女性喷水在线观看一区| 亚洲免费在线视频一区 二区| 欧美日韩精品不卡| 亚洲免费观看高清完整版在线观看熊| 亚洲美女免费精品视频在线观看| 免费在线观看成人av| 亚洲国产成人av在线| 亚洲日韩中文字幕在线播放| 欧美极品影院| 一本色道久久99精品综合| 久久精品人人做人人爽电影蜜月| 欧美午夜免费| 中国亚洲黄色| 欧美亚洲视频在线看网址| 国产精品爽黄69| 欧美制服第一页| 欧美ab在线视频| 99re在线精品| 国产精品久久久一区二区三区| 一本久道久久综合婷婷鲸鱼| 99视频超级精品| 国产精品久久久久久久久| 亚洲女同在线| 欧美xxx在线观看| 一本大道久久a久久综合婷婷| 欧美三级第一页| 欧美影院成年免费版| 欧美成年人网站| 亚洲香蕉网站| 狠狠色丁香婷婷综合影院| 久久综合久色欧美综合狠狠| 亚洲精品资源美女情侣酒店| 香蕉久久夜色精品国产| 国内精品视频666| 欧美欧美全黄| 亚洲欧美日韩电影| 亚洲第一视频网站| 国产精品毛片在线| 久久综合伊人77777蜜臀| 亚洲美女免费视频| 久久综合狠狠综合久久激情| 一片黄亚洲嫩模| 国内自拍一区| 欧美午夜电影一区| 美腿丝袜亚洲色图| 午夜精品久久| 一本色道久久加勒比精品| 免费精品视频| 久久不射中文字幕| 亚洲一级黄色av| 亚洲日本欧美| 狠狠噜噜久久| 国产精品卡一卡二| 欧美精品一区二| 久久婷婷国产综合国色天香| 中文久久精品| 亚洲精选91| 亚洲国产日韩一级| 久热这里只精品99re8久| 欧美中文字幕第一页| 亚洲在线一区二区| 一区二区免费看| 亚洲精品日韩精品|