最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談C#互操作的內(nèi)存溢出問題

 更新時間:2013年10月10日 10:00:06   作者:  
以前了解過c++的棧內(nèi)存溢出,沒想到在c#里被我遇到了,問題看似不大,如何被恰好相鄰的四個字節(jié)是返回地址,說不定危害不小??!看來c#的互操作還是得小心為好

c#調(diào)用C++DLL代碼,發(fā)現(xiàn)了一個隱藏很深的問題。 危害很大,而且不易察覺。

大概是申明c++的函數(shù)時候,有一個long類型的指針。在C#中我的申明成了這樣:

public extern void Method(ref uint para);

最初怎么也沒有發(fā)現(xiàn)這里面有什么問題,知道這個隱藏的問題暴露出來,把前面申明的一個變量改變了, 我才恍然大悟。

復(fù)制代碼 代碼如下:

uint test = 0;
int *p = new IntPtr();
Method(ref test);

在調(diào)用Method這里下斷點,p的值是分配的一個內(nèi)存地址。F10跳過Method,p指針就指向了0x00000000!!;

初步分析,是在棧上只給test分配了4個字節(jié)存放值,結(jié)果通過互操作返回了8個字節(jié)的值,就把緊挨著的存放p指針地址的4個字節(jié)占用了,恰好這四個字節(jié)又是高位,返回數(shù)據(jù)的高位都是0。 以前了解過c++的棧內(nèi)存溢出,沒想到在c#里被我遇到了,問題看似不大,如何被恰好相鄰的四個字節(jié)是返回地址,說不定危害不小?。?! 看來c#的互操作還是得小心為好。

相關(guān)文章

  • Qt實現(xiàn)網(wǎng)絡(luò)聊天室的示例代碼

    Qt實現(xiàn)網(wǎng)絡(luò)聊天室的示例代碼

    本文主要介紹了Qt實現(xiàn)網(wǎng)絡(luò)聊天室,實現(xiàn)一個在線聊天室, 使用tcp對客戶端和服務(wù)器端進行通訊。具有一定的參考價值,具有一定的參考價值,
    2021-06-06
  • java 中ArrayList與LinkedList性能比較

    java 中ArrayList與LinkedList性能比較

    這篇文章主要介紹了java 中ArrayList與LinkedList性能比較的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • c++中strcpy函數(shù)在VS2015無法使用的問題

    c++中strcpy函數(shù)在VS2015無法使用的問題

    這篇文章主要介紹了c++中strcpy函數(shù)在VS2015無法使用的問題,具有一定的參考價值,有需要的可以了解一下。
    2016-11-11
  • c++ 對數(shù)器實現(xiàn)示例

    c++ 對數(shù)器實現(xiàn)示例

    對數(shù)器用于在自己的本地平臺驗證算法正確性,本文詳細的介紹了c++ 對數(shù)器實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • C++生成key-value鍵值的三種方式總結(jié)

    C++生成key-value鍵值的三種方式總結(jié)

    這篇文章主要為大家詳細介紹了C++中生成key-value鍵值的三種方式,文中的示例代碼講解詳細,具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以了解下
    2023-09-09
  • C++實現(xiàn)類似延時停頓的打字效果

    C++實現(xiàn)類似延時停頓的打字效果

    這篇文章主要介紹的是使用C++實現(xiàn)類似延時停頓的打字效果的代碼,非常的簡單,推薦給大家,有需要的小伙伴可以參考下。
    2015-03-03
  • c語言獲取文件大小的示例

    c語言獲取文件大小的示例

    在C語言中測試文件的大小,主要使用二個標準函數(shù),下面是使用示例,需要的朋友可以參考下
    2014-02-02
  • C語言實現(xiàn)高精度加法

    C語言實現(xiàn)高精度加法

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)高精度加法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • C語言strtod()函數(shù)案例詳解

    C語言strtod()函數(shù)案例詳解

    這篇文章主要介紹了C語言strtod()函數(shù)案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C++深入講解引用的特點及與指針的區(qū)別

    C++深入講解引用的特點及與指針的區(qū)別

    引用是C++一個很重要的特性,顧名思義是某一個變量或?qū)ο蟮膭e名,對引用的操作與對其所綁定的變量或?qū)ο蟮牟僮魍耆葍r,這篇文章主要給大家總結(jié)介紹了C++中引用的相關(guān)知識點,需要的朋友可以參考下
    2022-05-05

最新評論

合肥市| 柳江县| 光泽县| 洮南市| 河北区| 文登市| 噶尔县| 老河口市| 峨眉山市| 清河县| 鄄城县| 高平市| 柘城县| 炉霍县| 纳雍县| 长武县| 睢宁县| 南陵县| 武义县| 抚州市| 霞浦县| 临泽县| 永胜县| 靖西县| 长垣县| 林州市| 奉贤区| 贡嘎县| 务川| 东乡| 股票| 沈丘县| 桂东县| 麻城市| 南阳市| 赞皇县| 南溪县| 郸城县| 达孜县| 刚察县| 吉安县|