当前位置: 首页 > news >正文

中国交通建设集团官网seo网站优化策划书

中国交通建设集团官网,seo网站优化策划书,网站建设前期,河间网站制作公司文章目录 前言模块的Hello World#xff01; 前言 Linux允许用户通过插入模块#xff0c;实现干预内核的目的。一直以来#xff0c;对linux的模块机制都不够清晰#xff0c;因此本文对内核模块的加载机制进行简单地分析。 ref:https://www.cnblogs.com/fanzhidongyzby/p/… 文章目录 前言模块的Hello World 前言 Linux允许用户通过插入模块实现干预内核的目的。一直以来对linux的模块机制都不够清晰因此本文对内核模块的加载机制进行简单地分析。 ref:https://www.cnblogs.com/fanzhidongyzby/p/3730131.html 模块的Hello World 我们通过创建一个简单的模块进行测试。首先是源文件main.c和Makefile。 florianflorian-pc:~/module$ cat main.c #includelinux/module.h #includelinux/init.hstatic int __init init(void){printk(Hi module!\n);return 0;}static void __exit exit(void){printk(Bye module!\n);}module_init(init);module_exit(exit);其中init为模块入口函数在模块加载时被调用执行exit为模块出口函数在模块卸载被调用执行。 florianflorian-pc:~/module$ cat Makefile obj-m main.o#generate the pathCURRENT_PATH:$(shell pwd)#the current kernel version numberLINUX_KERNEL:$(shell uname -r)#the absolute pathLINUX_KERNEL_PATH:/usr/src/linux-headers-$(LINUX_KERNEL)#complie objectall:make -C (LINUXKERNELPATH)M(CURRENT_PATH) modules#cleanclean:make -C (LINUXKERNELPATH)M(CURRENT_PATH) clean其中obj-m指定了目标文件的名称文件名需要和源文件名相同扩展名除外以便于make自动推导。 然后使用make命令编译模块得到模块文件main.ko。 florianflorian-pc:~/module$ make make -C /usr/src/linux-headers-2.6.35-22-generic M/home/florian/module modulesmake[1]: 正在进入目录 /usr/src/linux-headers-2.6.35-22-genericBuilding modules, stage 2.MODPOST 1 modulesmake[1]:正在离开目录 /usr/src/linux-headers-2.6.35-22-generic使用insmod和rmmod命令对模块进行加载和卸载操作并使用dmesg打印内核日志。 florianflorian-pc:~/module$ sudo insmod main.ko;dmesg | tail -1 [31077.810049] Hi module!florianflorian-pc:~/module$ sudo rmmod main.ko;dmesg | tail -1 [31078.960442] Bye module!通过内核日志信息可以看出模块的入口函数和出口函数都被正确调用执行。 模块文件 使用readelf命令查看一下模块文件main.ko的信息。 florianflorian-pc:~/module$ readelf -h main.ko ELF Header:Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00Class: ELF32Data: 2s complement, little endianVersion: 1 (current)OS/ABI: UNIX - System VABI Version: 0Type: REL (Relocatable file)Machine: Intel 80386Version: 0x1Entry point address: 0x0Start of program headers: 0 (bytes into file)Start of section headers: 1120 (bytes into file)Flags: 0x0Size of this header: 52 (bytes)Size of program headers: 0 (bytes)Number of program headers: 0Size of section headers: 40 (bytes)Number of section headers: 19Section header string table index: 16userroot:~/module$ sudo readelf -h main.ko ELF Header:Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00Class: ELF64Data: 2s complement, little endianVersion: 1 (current)OS/ABI: UNIX - System VABI Version: 0Type: REL (Relocatable file)Machine: Advanced Micro Devices X86-64Version: 0x1Entry point address: 0x0Start of program headers: 0 (bytes into file)Start of section headers: 2936 (bytes into file)Flags: 0x0Size of this header: 64 (bytes)Size of program headers: 0 (bytes)Number of program headers: 0Size of section headers: 64 (bytes)Number of section headers: 22Section header string table index: 21 我们发现main.ko的文件类型为可重定位目标文件这和一般的目标文件格式没有任何区别。我们知道目标文件是不能直接执行的它需要经过链接器的地址空间分配、符号解析和重定位的过程转化为可执行文件才能执行。 那么内核将main.ko加载后是否对其进行了链接呢 ref:https://www.cnblogs.com/fanzhidongyzby/p/3730131.html
http://www.hkea.cn/news/14520454/

相关文章:

  • 门户网站开发需求文档北京装修公司排名电话
  • 在本地服务器上建设网站的步骤网络营销策略存在的问题
  • 城市建设服务中心网站如何注册公司网站域名
  • 做网站英文怎么说低价网站建设资讯
  • 深圳网站开发培训wordpress 文章 函数
  • psd 网站请将网站首页底部的备案号
  • 2003 iis网站发布网站哪个品牌网站设计感强
  • 自由策划企业网站管理系统破解版伊宁网站建设优化
  • 个人 备案 多个网站免费ddns域名注册
  • 上海企业网站改版一重大连工程建设有限公司官方网站
  • 潍坊 营销型网站建设老域名查询
  • 凡科网做的网站保存后就上传了吗一站式发稿平台
  • 团购网站开发的可行性分析宿迁做网站哪家公司好
  • 购物型网站怎么建立网站开发用什么框架好
  • 网站怎么做拉新网站建设公司开发企业北京网站
  • 如何建立一个网站论坛杭州企业网站制作公司
  • 怎样做电商网站网站内部链接怎么做
  • 深圳装修网站建设工业设计效果图
  • .简述网站开发的流程网站建设内容录入论文
  • 佛山网站快速优化排名短代码 wordpress
  • 视频网站 怎么做做电商网站必需知道qc
  • 东莞seo建站优化哪里好seo是指
  • 二手网站建设情况机关网站建设
  • 网站演示程序网络营销运营方案
  • 专注于网站营销服务wordpress搜索结果
  • 网站开发培训视频广州做网站建设哪家专业
  • 网站建设的收费标准wordpress 显示置顶文章
  • node框架做网站互联网网页设计流程
  • 建设厅网站生成案卷生成不了本地app制作公司地址
  • 中国正规官方网站有哪些长沙企业网站开发哪家专业