日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++笔记-初步窥探全局函数在Debug、Release的地址

發布時間:2025/3/15 c/c++ 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++笔记-初步窥探全局函数在Debug、Release的地址 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

?

?

前言

代碼與實例


?

前言

這里做個筆記,此筆記最后的結論是在各個編譯器或各種優化中,函數地址也會被編譯器優化。個人覺得搞技術這一塊,學著學著就有了交集,在此記錄下,沒準以后還真有機會接觸到反匯編這種項目呢。

?

?

代碼與實例

如下面的代碼:

#include <iostream> using namespace std;void test1(){cout << "This is test1() called!" << endl;cout << "1111111" << endl;int a = 1,b = 2, c = 3, d = 4;cout << a + b +3 +d; }void test2(char *str){char buf[128];strcpy(buf, str);cout << "This is test2() called : " << buf << endl; }void test3(){cout << "test3" << endl; }void test4(){cout << "test4" << endl; }void test5(){cout << "test5" << endl; }int main(int *argc, int *argv[]){cout << "test1:" << test1 << endl;cout << "test2:" << test2 << endl;cout << "test3:" << test3 << endl;cout << "test4:" << test4 << endl;cout << "test5:" << test5 << endl;test3();test4();test2("Hello world!");getchar();return 0; }

這里是Debug版本:編譯器是MSVC2012:

運行結果如下:

這里看看:從test1到test5:全局函數不像類里面的函數那樣,具有規律。這種全局函數看起來是沒有什么規律的。

下面來看看Release版本:

這里可以看到使用Realse版本優化后的全局函數地址,是有某種規律的,至少地址是增加的,不像debug那樣!

?

總結

以上是生活随笔為你收集整理的C++笔记-初步窥探全局函数在Debug、Release的地址的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。