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

做微商有卖鞋子的网站吗恩施市住房和城乡建设局网站

做微商有卖鞋子的网站吗,恩施市住房和城乡建设局网站,百度权重排名高的网站,商业网站建设定位我们可以为代码清单4.1的模板编写一个简单的Makefile#xff1a; obj-m : hello.o 并使用如下命令编译Hello World模块#xff1a; make -C /usr/src/linux-2.6.15.5/ M/driver_study/ modules 如果当前处于模块所在的目录#xff0c;则以下命令与上述命令同等#xff1a…我们可以为代码清单4.1的模板编写一个简单的Makefile obj-m : hello.o 并使用如下命令编译Hello World模块 make -C /usr/src/linux-2.6.15.5/ M/driver_study/ modules 如果当前处于模块所在的目录则以下命令与上述命令同等 make –C /usr/src/linux-2.6.15.5 M$(pwd) modules 其中-C后指定的是Linux内核源代码的目录而M后指定的是hello.c和Makefile所在的目录编译结果如下 [rootlocalhost driver_study]# make -C /usr/src/linux-2.6.15.5/ M/driver_study/ modules make: Entering directory /usr/src/linux-2.6.15.5 CC [M] /driver_study/hello.o /driver_study/hello.c:18:35: warning: no newline at end of file Building modules, stage 2. MODPOST CC      /driver_study/hello.mod.o LD [M] /driver_study/hello.ko make: Leaving directory /usr/src/linux-2.6.15.5 从中可以看出编译过程中经历了这样的步骤先进入Linux内核所在的目录并编译出hello.o文件运行MODPOST会生成临时的hello.mod.c文件而后根据此文件编译出hello.mod.o之后连接hello.o和hello.mod.o文件得到模块目标文件hello.ko最后离开Linux内核所在的目录。 中间生成的hello.mod.c文件的源代码如代码清单4.7所示。 代码清单4.7 模块编译时生成的.mod.c文件 1    #include linux/module.h 2    #include linux/vermagic.h 3    #include linux/compiler.h 4    5    MODULE_INFO(vermagic, VERMAGIC_STRING); 6    7    struct module __this_module 8    __attribute__((section(.gnu.linkonce.this_module))) { 9    .name KBUILD_MODNAME, 10    .init init_module, 11    #ifdef CONFIG_MODULE_UNLOAD 12    .exit cleanup_module, 13    #endif 14    }; 16    static const char __module_depends[] 17    __attribute_used__ 18    __attribute__((section(.modinfo))) 19    depends; hello.mod.o产生了ELFLinux所采用的可执行/可连接的文件格式的2个节即modinfo和.gun.linkonce.this_module。 如果一个模块包括多个.c文件如file1.c、file2.c则应该以如下方式编写Makefile obj-m : modulename.o modulename-objs : file1.o file2.o    ----------------------------------------------------------------- http://blog.csdn.net/zhaokugua/archive/2007/11/02/1862500.aspx 4.9模块的编译 ---------------------------------------------------------------------- 2.4内核中模块的编译只需内核源码头文件需要在包含linux/modules.h之前定义MODULE编译、连接后生成的内核模块后缀为.o。 2.6内核中模块的编译需要配置过的内核源码编译、连接后生成的内核模块后缀为.ko编译过程首先会到内核源码目录下读取顶层的Makefile文件然后再返回模块源码所在目录。 清单22.4 内核模块的Makefile模板 #Makefile2.4 KVER$(shell uname -r) KDIR/lib/modules/$(KVER)/build OBJSmymodule.o CFLAGS-D__KERNEL__ -I$(KDIR)/include -DMODULE -D__KERNEL_SYSCALLS__ -DEXPORT_SYMTAB-O2 -fomit-frame-pointer -Wall -DMODVERSIONS -include $(KDIR)/include/linux/modversions.h all: $(OBJS) mymodule.o: file1.o file2.old -r -o $ $^ clean:rm -f *.o 在2.4 内核下内核模块的Makefile与普通用户程序的Makefile在结构和语法上都相同但是必须在CFLAGS中定义-D__KERNEL__- DMODULE指定内核头文件目录-I$(KDIR)/include。有一点需注意之所以在CFLAGS中定义变量而不是在模块源码文件中定义一方面这些预定义变量可以被模块中所有源码文件可见另一方面等价于将这些预定义变量定义在源码文件的起始位置。在模块编译中对于这些全局的预定义变量一般在CFLAGS中定义。 清单32.6 内核模块的Makefile模板 # Makefile2.6 ifneq ($(KERNELRELEASE),) #kbuild syntax. dependency relationshsip of files and target modules are listed here. mymodule-objs : file1.o file2.o obj-m : mymodule.o else PWD : $(shell pwd) KVER ? $(shell uname -r) KDIR : /lib/modules/$(KVER)/build all:$(MAKE) -C $(KDIR) M$(PWD) clean: rm -rf .*.cmd *.o *.mod.c *.ko .tmp_versions endif KERNELRELEASE是在内核源码的顶层Makefile中定义的一个变量在第一次读取执行此Makefile时 KERNELRELEASE没有被定义所以make将读取执行else之后的内容。如果make的目标是clean直接执行clean操作然后结束。当make的目标为all时-C $(KDIR) 指明跳转到内核源码目录下读取那里的MakefileM$(PWD) 表明然后返回到当前目录继续读入、执行当前的Makefile。当从内核源码目录返回时KERNELRELEASE已被被定义kbuild也被启动去解析kbuild语法的语句make将继续读取else之前的内容。else之前的内容为kbuild语法的语句, 指明模块源码中各文件的依赖关系以及要生成的目标模块名。mymodule-objs : file1.o file2.o表示mymoudule.o 由file1.o与file2.o 连接生成。obj-m : mymodule.o表示编译连接后将生成mymodule.o模块。 补充一点$(MAKE) -C $(KDIR) M$(PWD)与$(MAKE) -C $(KDIR) SUBDIRS $(PWD)的作用是等效的后者是较老的使用方法。推荐使用M而不是SUBDIRS前者更明确。 通过以上比较可以看到从Makefile编写来看在2.6内核下内核模块编译不必定义复杂的CFLAGS而且模块中各文件依赖关系的表示简洁清晰。 清单4 可同时在2.4 与 2.6 内核下工作的Makefile Makefile for 2.4 2.6 VERS26$(findstring 2.6,$(shell uname -r)) MAKEDIR?$(shell pwd) ifeq ($(VERS26),2.6) include $(MAKEDIR)/Makefile2.6 else include $(MAKEDIR)/Makefile2.4 endif
http://www.zqtcl.cn/news/891986/

相关文章:

  • 哈尔滨网站建设咨询辽宁建设工程信息网怎么看项目经理是不是被锁住
  • 成立做网站的公司搭建网站有费用吗
  • 标志设计说明案例北京网站优化seo
  • 国外app设计网站佛山网站推广市场
  • 北京矿建建设集团有限公司 网站科技软件下载
  • 公司建网站要多少钱wordpress轮播框
  • 怎么看一个网站什么语言做的全网最新首码项目
  • 深圳网站建设ue网站空间和流量
  • 网站前端设计要做什么游仙建设局官方网站
  • 大型门户网站建设哪家好进一步加大网站集约化建设力度
  • 网站里面那些工作是做晚上兼职的钱包网站建设策划
  • 网站开发实现的环境自豪地采用wordpress 怎么去掉
  • ic商城网站建设网站备案关闭影响排名
  • qq官方网站进入wordpress调用文章某个分类
  • 南充网站建设设计略奥企业网站管理系统怎么修改密码
  • 网站建设里的知识360云主机可以建设网站吗
  • 创建网站代码上海网络公司查询
  • 电子商务网站建设与管理实训报告百度权重划分等级
  • 网站建设响应式是什么医院网站建设方案策划书
  • 开鲁网站seo不用下载男女做羞羞事动画网站免费
  • 做网站客户需求新乡专业做网站多少钱
  • 邢台建设银行官方网站二维码生成器app下载
  • 自己怎么做网站游戏做网站就是做app
  • 怎样做一元购网站wordpress+淘客代码
  • 网站建设发展现状贵阳有哪些做网站的公司
  • 微博上如何做网站推广蝉知和wordpress
  • 泷澄建设集团网站北京建设执业资格注册网站
  • 门户网站建设情况报告深圳龙岗房价多少钱一平方米
  • 网站建设备案是什么ps培训班
  • 深圳网站推广优化wordpress 运行速度慢