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

网站建设公司价格一级消防工程师考试试题

网站建设公司价格,一级消防工程师考试试题,wordpress取消邮件,在线seo外链工具目录 #x1f345;点击这里查看所有博文 随着自己工作的进行#xff0c;接触到的技术栈也越来越多。给我一个很直观的感受就是#xff0c;某一项技术/经验在刚开始接触的时候都记得很清楚。往往过了几个月都会忘记的差不多了#xff0c;只有经常会用到的东西才有可能真正记…目录 点击这里查看所有博文 随着自己工作的进行接触到的技术栈也越来越多。给我一个很直观的感受就是某一项技术/经验在刚开始接触的时候都记得很清楚。往往过了几个月都会忘记的差不多了只有经常会用到的东西才有可能真正记下来。存在很多在特殊情况下有一点用处的技巧用的不多的技巧可能一个星期就忘了。 想了很久想通过一些手段把这些事情记录下来。也尝试过在书上记笔记这也只是一时的书不在手边的时候那些笔记就和没记一样不是很方便。 很多时候我们遇到了问题一般情况下都是选择在搜索引擎检索相关内容这样来的也更快一点除非真的找不到才会去选择翻书。后来就想到了写博客博客作为自己的一个笔记平台倒是挺合适的。随时可以查阅不用随身携带。 同时由于写博客是对外的既然是对外的就不能随便写任何人都可以看到。经验对于我来说那就只是经验而已公布出来说不一定我的一些经验可以帮助到其他的人。遇到和我相同问题时可以少走一些弯路。 既然决定了要写博客那就只能认真去写。不管写的好不好尽力就行。千里之行始于足下一步一个脚印慢慢来 写的多了慢慢也会变好的。权当是记录自己的成长的一个过程等到以后再往回看时就会发现自己以前原来这么菜。 本系列博客所述资料均来自互联网资料并不是本人原创只有博客是自己写的。出于热心本人将自己的所学笔记整理并推出相对应的使用教程方面其他人学习。为国内的物联网事业发展尽自己的一份绵薄之力没有为自己谋取私利的想法。若出现侵权现象请告知本人本人会立即停止更新并删除相应的文章和代码。 什么是符号 这里的符号主要指的是全局变量和函数 Linux内核采用的是以模块化形式管理内核代码。内核中的每个模块相互之间是相互独立的也就是说A模块的全局变量和函数B模块是无法访问的。 不同模块间可通过导出宏将符号导出被导出的符号可被其他模块使用。 static int num 100; static void show(void) {printk(aaaa: num %d \n,num); } EXPORT_SYMBOL(num); EXPORT_SYMBOL(show);Ubuntu中的符号表 Linux内核的全局符号表在/usr/src/linux-headers-xxxxx-generic/Module.symvers。 rootubuntu:# ls /usr/src/linux-headers-4.15.0-142-generic/ arch crypto firmware init Kconfig Makefile net security ubuntu block Documentation fs ipc kernel mm samples sound usr certs drivers include Kbuild lib Module.symvers scripts tools virt某个单独编译的内核符号表在代码根目录下。在模块编译好后在它的当前目录会看到一个Module.symvers文件这里存放的就是我们模块A导出的符号。 rootubuntu:# ls helloa.c helloa.mod.c helloa.o modules.order helloa.ko helloa.mod.o Makefile Module.symvers 示例源码 模块A的示例源码在模块A中使用EXPORT_SYMBOL导出整型变量num和void型函数show。 #include linux/init.h #include linux/module.h MODULE_LICENSE(GPL); MODULE_AUTHOR(PD); static int num 100; static void show(void) {printk(helloa_show num %d \n,num); } static int hello_init(void) {printk(helloa_init \n);return 0; } static void hello_exit(void) {printk(helloa_exit \n);return; } EXPORT_SYMBOL(num); EXPORT_SYMBOL(show); module_init(hello_init); module_exit(hello_exit);在模块B中直接使用extern引入外部的定义即可。 #include linux/init.h #include linux/module.h MODULE_LICENSE(GPL); MODULE_AUTHOR(PD); extern int num; extern void show(void); static int hello_init(void) {printk(hellob_init %d\n,num);show();return 0; } static void hello_exit(void) {printk(hellob_exit \n);return; } module_init(hello_init); module_exit(hello_exit);引用步骤 编译模块A将模块A编译生成的Module.symvers文件拷贝到模块 B目录下可选不拷贝的话在编译B时也只是会报一个警告不影响使用。建议拷贝程序员不能忽视任何一个警告才是对的。 WARNING: show [/home/peng/Desktop/driver/example/2_export/b/hellob.ko] undefined! WARNING: num [/home/peng/Desktop/driver/example/2_export/b/hellob.ko] undefined!编译模块B操作正确的情况下正常是不会有任何的错误和警告的。 rootubuntu:# make make -C /lib/modules/4.15.0-142-generic/build M/home/peng/Desktop/driver/example/2_export/b modules make[1]: Entering directory /usr/src/linux-headers-4.15.0-142-genericCC [M] /home/peng/Desktop/driver/example/2_export/b/hellob.oBuilding modules, stage 2.MODPOST 1 modules WARNING: show [/home/peng/Desktop/driver/example/2_export/b/hellob.ko] undefined! WARNING: num [/home/peng/Desktop/driver/example/2_export/b/hellob.ko] undefined!CC /home/peng/Desktop/driver/example/2_export/b/hellob.mod.oLD [M] /home/peng/Desktop/driver/example/2_export/b/hellob.ko make[1]: Leaving directory /usr/src/linux-headers-4.15.0-142-generic先加载模块A然后加载模块B。从日志中分析可知在加载模块A时先执行了helloa的加载函数。加载模块B的过程中执行模块B加载函数时首先引用了模块a的变量num紧接着又调用了模块A中show函数。 rootubuntu:# insmod ./helloa.ko rootubuntu:# insmod ./hellob.ko rootubuntu:# dmesg [ 8167.354563] helloa_init [ 8170.907883] hellob_init 100 [ 8170.907884] helloa_show num 100注意事项 加载的时候必须先加载A模块再加载B模块。否则会报错Unknown symbol in module。 rootubuntu:# insmod ./hellob.ko insmod: ERROR: could not insert module ./hellob.ko: Unknown symbol in module rootubuntu:# insmod ./helloa.ko rootubuntu:# insmod ./hellob.ko卸载的时候必须先卸载B模块再卸载A模块。否则会报错Module helloa is in use by。 rootubuntu:# rmmod ./helloa.ko rmmod: ERROR: Module helloa is in use by: hellob rootubuntu:# rmmod ./hellob.ko rootubuntu:# rmmod ./helloa.ko那么本篇博客就到此结束了这里只是记录了一些我个人的学习笔记其中存在大量我自己的理解。文中所述不一定是完全正确的可能有的地方我自己也理解错了。如果有些错的地方欢迎大家批评指正。如有问题直接在对应的博客评论区指出即可不需要私聊我。我们交流的内容留下来也有助于其他人查看说不一定也有其他人遇到了同样的问题呢。
http://wiki.neutronadmin.com/news/108379/

相关文章:

  • 做网站选什么系统wordpress4.9升级失败
  • 网站仿站是啥wordpress媒体默认链接
  • 福田做网站多少钱网络广告营销的典型案例
  • 品牌和网站建设全国响应式网站建设
  • 企业营销型网站建设公司房地产网站怎样建设才能快速盈利
  • 电子通讯录网站建设门户网站 集成 移动app 方案
  • 网站开发行业标准学室内设计要多久能学会
  • 阿里云网站域名申请网站系统升级需要多久
  • 十大招商平台百度seo搜索引擎优化方案
  • 杭州网站建设公司推荐动漫制作专业专科
  • 沾益住房和城乡建设局网站qq是哪个公司创办的
  • 微信公众号服务号网站开发流程图网站设计建设有限公司
  • 建设一个连接的网站银川网站开发
  • 大型网站集群怎么做学做ps的网站
  • dede网站栏目管理如何建设公司网站公司网站
  • 重庆建网站价格表湖北海厦建设有限公司网站
  • 安康 住房城乡建设部网站网站设计实验报告内容与步骤
  • 唐山建设工程安全监督网站wordpress 4.7.2 中文
  • 做网站的用户需求分析网站建设方案和报价表
  • 网站建设要做什么windows删除wordpress
  • 设计网站的功能有哪些内容做的网站很卡是什么原因呢
  • 网站秒收录秒排名wordpress 谷歌云
  • 镇江网站建设zjmfkj中国人在俄罗斯做网站需要多少卢布
  • 做网站编辑我能力得到提升乐山市城乡规划建设局网站
  • 北京免费模板建站站长之家最新网站
  • 韩城市网站建设局电话娄底360seo优化公司
  • 网页设计用什么尺寸的画布关键词seo排名怎么选
  • 单页销售网站制作制作z怎么做优惠券网站
  • 手机网站建设czyzj海拉尔网页设计
  • 南郑县城乡建设局网站wordpress模板关系