亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3720 | 回復: 6
打印 上一主題 下一主題

[Linux] Ubuntu應用程序調用內核頭文件 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2013-01-07 18:33 |只看該作者 |倒序瀏覽
小弟寫了個測試的應用程序希望看看物理內存是如何分配的,
所以需要在應用程序中將虛擬地址轉化為物理地址,所以用到了一些內核中的方法,以下代碼是參考網(wǎng)上例子:
  1. unsigned long vtop(unsigned long addr){
  2.         unsigned long real_addr = 0x00;//要輸出的地址
  3.         struct task_struct *cur_task;
  4.         cur_task = get_current();//獲取當前進程控制塊
  5.         if(cur_task==NULL){
  6.                 goto out;
  7.         }
  8.         struct mm_struct *mm = cur_task->mm;//進程虛擬空間
  9.         pgd_t *pgd;//描述頁全局目錄項
  10.         pmd_t *pmd;//描述頁中間項
  11.         pte_t *pte;//頁表項
  12.        
  13.         pgd = pgd_offset(mm, addr);//找出所在目錄
  14.         if (pgd_none(*pgd)){
  15.         goto out;
  16.         }
  17.         pmd = pmd_offset(pgd, addr);//找出所在中間項

  18.         if (pmd_none(*pmd)){
  19.                 goto out;
  20.         }
  21.         pte = pte_offset(pmd, addr);//找出所在頁面


  22.         if (pte_none(*pte)) {
  23.                 goto out;
  24.         }

  25.         //假設每頁4KB
  26.         real_addr = addr & 0x00003fff; //取出頁面偏移量
  27.         real_addr += pte;//內核空間訪問的地址
  28.         real_addr -= PAGE_OFFSET;//真正物理地址()
  29.         return real_addr;

  30. out:
  31.         printk("沒有內存映射",real_addr);
  32. }
復制代碼
但是結構task_struct和pgd_t、pmd_t、pte_t都是未定義的,這幾個結構是定義在include/linux/sched.h和include/asm/page.h兩個文件里,
而usr/include/linux下的頭文件其實和內核的頭文件有所不同。請問在應用中應該如何調用這些內核結構?

論壇徽章:
0
2 [報告]
發(fā)表于 2015-01-23 15:25 |只看該作者
頂起同問

求職 : 機器學習
論壇徽章:
79
2015年亞洲杯紀念徽章
日期:2015-05-06 19:18:572015七夕節(jié)徽章
日期:2015-08-21 11:06:172015亞冠之阿爾納斯爾
日期:2015-09-07 09:30:232015亞冠之薩濟拖拉機
日期:2015-10-21 08:26:3915-16賽季CBA聯(lián)賽之浙江
日期:2015-12-30 09:59:1815-16賽季CBA聯(lián)賽之浙江
日期:2016-01-10 12:35:21技術圖書徽章
日期:2016-01-15 11:07:2015-16賽季CBA聯(lián)賽之新疆
日期:2016-02-24 13:46:0215-16賽季CBA聯(lián)賽之吉林
日期:2016-06-26 01:07:172015-2016NBA季后賽紀念章
日期:2016-06-28 17:44:45黑曼巴
日期:2016-06-28 17:44:4515-16賽季CBA聯(lián)賽之浙江
日期:2017-07-18 13:41:54
3 [報告]
發(fā)表于 2015-01-23 15:30 |只看該作者
我也有相同的困惑

論壇徽章:
46
2015小元宵徽章
日期:2015-03-06 15:58:18羊年新春福章
日期:2015-04-14 10:37:422015年亞洲杯之阿曼
日期:2015-04-14 10:41:50NBA常規(guī)賽紀念章
日期:2015-05-04 22:32:03NBA季后賽大富翁
日期:2015-05-04 22:34:11菠菜明燈
日期:2015-05-04 22:35:49新奧爾良黃蜂
日期:2015-05-04 22:49:2315-16賽季CBA聯(lián)賽之廣夏
日期:2015-12-11 15:02:342015年亞洲杯之巴勒斯坦
日期:2015-03-04 19:56:562015年亞洲杯之阿聯(lián)酋
日期:2015-03-04 11:19:04休斯頓火箭
日期:2015-03-02 16:32:11紐約尼克斯
日期:2015-03-02 16:09:04
4 [報告]
發(fā)表于 2015-01-23 16:50 |只看該作者
應用中應該是取不到的

求職 : 機器學習
論壇徽章:
79
2015年亞洲杯紀念徽章
日期:2015-05-06 19:18:572015七夕節(jié)徽章
日期:2015-08-21 11:06:172015亞冠之阿爾納斯爾
日期:2015-09-07 09:30:232015亞冠之薩濟拖拉機
日期:2015-10-21 08:26:3915-16賽季CBA聯(lián)賽之浙江
日期:2015-12-30 09:59:1815-16賽季CBA聯(lián)賽之浙江
日期:2016-01-10 12:35:21技術圖書徽章
日期:2016-01-15 11:07:2015-16賽季CBA聯(lián)賽之新疆
日期:2016-02-24 13:46:0215-16賽季CBA聯(lián)賽之吉林
日期:2016-06-26 01:07:172015-2016NBA季后賽紀念章
日期:2016-06-28 17:44:45黑曼巴
日期:2016-06-28 17:44:4515-16賽季CBA聯(lián)賽之浙江
日期:2017-07-18 13:41:54
5 [報告]
發(fā)表于 2015-01-23 17:03 |只看該作者
如果手動去查找呢 比如編譯時 指定 -I 這樣的選項呢?回復 4# super皮波


   

論壇徽章:
46
2015小元宵徽章
日期:2015-03-06 15:58:18羊年新春福章
日期:2015-04-14 10:37:422015年亞洲杯之阿曼
日期:2015-04-14 10:41:50NBA常規(guī)賽紀念章
日期:2015-05-04 22:32:03NBA季后賽大富翁
日期:2015-05-04 22:34:11菠菜明燈
日期:2015-05-04 22:35:49新奧爾良黃蜂
日期:2015-05-04 22:49:2315-16賽季CBA聯(lián)賽之廣夏
日期:2015-12-11 15:02:342015年亞洲杯之巴勒斯坦
日期:2015-03-04 19:56:562015年亞洲杯之阿聯(lián)酋
日期:2015-03-04 11:19:04休斯頓火箭
日期:2015-03-02 16:32:11紐約尼克斯
日期:2015-03-02 16:09:04
6 [報告]
發(fā)表于 2015-01-23 17:31 |只看該作者
回復 5# zsszss0000

這些數(shù)據(jù)都是存放在內核空間的,你用戶空間肯定是沒法訪問的,用戶空間訪問內核只能是系統(tǒng)調用
   

論壇徽章:
46
2015小元宵徽章
日期:2015-03-06 15:58:18羊年新春福章
日期:2015-04-14 10:37:422015年亞洲杯之阿曼
日期:2015-04-14 10:41:50NBA常規(guī)賽紀念章
日期:2015-05-04 22:32:03NBA季后賽大富翁
日期:2015-05-04 22:34:11菠菜明燈
日期:2015-05-04 22:35:49新奧爾良黃蜂
日期:2015-05-04 22:49:2315-16賽季CBA聯(lián)賽之廣夏
日期:2015-12-11 15:02:342015年亞洲杯之巴勒斯坦
日期:2015-03-04 19:56:562015年亞洲杯之阿聯(lián)酋
日期:2015-03-04 11:19:04休斯頓火箭
日期:2015-03-02 16:32:11紐約尼克斯
日期:2015-03-02 16:09:04
7 [報告]
發(fā)表于 2015-01-23 17:33 |只看該作者
想研究內核 去內核版塊的精華貼  里面有如何調試內核的
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP