亚洲AV日韩AⅤ综合手机在线观看,激情婷婷久久综合色,欧美色五月婷婷久久,久久国产精品99久久人人澡

  • <abbr id="uk6uq"><abbr id="uk6uq"></abbr></abbr>
  • <tbody id="uk6uq"></tbody>
  • Linux C程序存儲空間的邏輯布局

    時間:2024-07-12 21:47:40 Linux認證 我要投稿
    • 相關(guān)推薦

    關(guān)于Linux C程序存儲空間的邏輯布局

      Linux C程序存儲空間的邏輯布局是怎么樣的?為了方便大家,下面YJBYS小編為大家整理了關(guān)于Linux C程序存儲空間的邏輯布局的文章,希望對你有所幫助。

      一、APUE上指出了 Linux C程序存儲空間的邏輯布局,對于 X86上的Linux

      正文段從 0x08048000單元開始

      棧底則在 0xC0000000之下開始 (棧從高地址向低地址生長)

      圖如下:

      二、例程

      實現(xiàn)一個函數(shù)f(),不用指針,實現(xiàn)在函數(shù)內(nèi)修改傳入?yún)?shù)的值。

      #include "stdio.h"

      #include "sys/types.h"

      void f1(u_int32_t a)

      {

      printf("%p\n", &a);

      u_int8_t *ap = (u_int8_t *)&a;

      while(++ap)

      {

      printf("%p\n", ap);

      if( *ap == a)

      {

      *ap = 7;

      break;

      }

      }

      }

      main()

      {

      u_int32_t i = 123;

      printf("%p\n", &i);

      f1(i);

      printf("%d\n", i);

      }

      運行結(jié)果

      /* * * result * * */

      /*

      BTC:/home/leon/test # ./a.out

      0xbf905300

      0xbf9052e0

      0xbf9052e1

      0xbf9052e2

      0xbf9052e3

      0xbf9052e4

      0xbf9052e5

      0xbf9052e6

      0xbf9052e7

      0xbf9052e8

      0xbf9052e9

      0xbf9052ea

      0xbf9052eb

      0xbf9052ec

      0xbf9052ed

      0xbf9052ee

      0xbf9052ef

      0xbf9052f0

      0xbf9052f1

      0xbf9052f2

      0xbf9052f3

      0xbf9052f4

      0xbf9052f5

      0xbf9052f6

      0xbf9052f7

      0xbf9052f8

      0xbf9052f9

      0xbf9052fa

      0xbf9052fb

      0xbf9052fc

      0xbf9052fd

      0xbf9052fe

      0xbf9052ff

      0xbf905300

      7

      */

      從結(jié)果可以清晰的看到:

      1 進入函數(shù)f1()后,棧“向下”生長了。

      2 通過直接訪問棧內(nèi)容,修改了棧內(nèi)的值。

      注:這種操作相當(dāng)不安全,因為不能保證棧內(nèi)沒有其它相同的值。

    【Linux C程序存儲空間的邏輯布局】相關(guān)文章:

    Linux下程序的Profile工具09-23

    C語言程序的結(jié)構(gòu)10-17

    最簡單的Linux驅(qū)動程序09-09

    java程序中如何調(diào)用linux命令08-27

    C語言程序設(shè)計學(xué)習(xí)技巧08-02

    計算機C語言程序設(shè)計的介紹09-02

    2024年Linux認證考試要點:shell程序控制結(jié)構(gòu)語句09-20

    學(xué)習(xí)二級c語言程序設(shè)計的方法09-09

    Linux認證概念10-29

    Linux認證優(yōu)勢06-10