摘要:
1.一般的程序都是可重定位的,变量或者函数的地址,都是用相对地址记录的。并且变量的地址在link后,可以确定相对位置,在加载后才可以确定绝对位置。一般这样都写成函数,用修饰符proc修饰。 2.但有时候需要写非重定位程序,就需要用固定地址引用变量。例如需要写一个bin文件,然后这个bin文件需要被加载到某个地址运行。 这时,在首地址需要写成。这样在编译前,地址就已经确定了。一般用标签,如XXX: ... 阅读全文
posted @ 2009-05-18 23:49
Fan Zhang
阅读(377)
评论(0)
推荐(0)
摘要:
现在从freeldr_main模块下手,找到freeldr_main.rbuild文件。 <!DOCTYPE module SYSTEM "http://www.cnblogs.com/../tools/rbuild/project.dtd"> <module name="freeldr_startup" type="objectlibrary"> <include... 阅读全文
posted @ 2009-05-18 18:22
Fan Zhang
阅读(378)
评论(0)
推荐(0)
摘要:
Makefile中的-include XXX表示如果XXXX文件不存在,不会报错。Makefile会间接包含\tools\rbuild\rbuild.mak。这里简单分析工具rbuild 在reactos的根目中,执行 make rbuild_clean make rbuild rbuild会根据ReactOS-i386.rbuild生成makefile.auto文件,然后makefile.aut... 阅读全文
posted @ 2009-05-18 17:25
Fan Zhang
阅读(643)
评论(0)
推荐(0)
摘要:
首先观察ReactOS根目录中的Makefile文件,其中它 include lib/lib.mak include tools/tools.mak #这里是一些预先准备的一些工具如rbuild -include $(ROS_AUTOMAKE) #这个文件即用rbuild根据ReactOS-i386.rbuild文件生成的makefile.auto文件这里从最简单的tools/tools.mak文... 阅读全文
posted @ 2009-05-18 14:11
Fan Zhang
阅读(685)
评论(0)
推荐(0)
摘要:
1.例如, .PHONY : clean clean : -rm edit $(objects) .PHONY意思表示clean是一个“伪目标” 2.在rm命令前面加了一个小减号的意思就是,也许某些文件出现问题,但不要管,继续做后面的事。 3. $@表示目标文件,(因为@很像靶子,target) $<表示依赖文件 4.静态模式 objects = foo.o bar.o all: $... 阅读全文
posted @ 2009-05-18 10:20
Fan Zhang
阅读(186)
评论(0)
推荐(0)

浙公网安备 33010602011771号