简体   繁体   English

Wince 6.0的内核构建顺序如何

[英]how is the build order of kernel by Wince 6.0

I've changed the file "handle.c" in winceos\\COREOS\\nk\\kernel.. and need to build according to take the changes into the core.dll for nk.bin 我已经在winceos \\ COREOS \\ nk \\ kernel ..中更改了文件“ handle.c”,并且需要根据将更改放入nk.bin的core.dll中进行构建

is there any build order to follow to avoid to build the hole solution? 有什么建造顺序可以避免建造孔洞解决方案吗?

First, let me say that making that change where you did is a bad, bad idea. 首先,让我说,在您所做的地方进行更改是一个不好的主意。 Never change the public or private trees directly. 切勿直接更改公共或私有树。 If Microsoft issues a QFE that changes that code, when you apply the QFE, your changes will be overwritten and without warning. 如果Microsoft发布了一个更改该代码的QFE,则当您应用QFE时,所做的更改将被覆盖且没有警告。 Always clone the code and change the clone. 始终克隆代码并更改克隆。

As far as making kernel changes without having to rebuild the entire project, the answer is no, you can't. 至于无需重新构建整个项目即可进行内核更改,答案是否定的,您不能这样做。 Changes in the code potentially change addresses, and a vast amount of the OS is fixed up with those addresses during the build process. 代码中的更改可能会更改地址,并且在构建过程中,大量的操作系统都使用这些地址进行了修复。 You'll have to rebuild the entire thing after a change like that (as opposed to, for example, drivers which you can build individually without rebuilding the entire OS). 在进行类似的更改后,您将不得不重新构建整个事物(例如,与无需单独构建整个操作系统即可单独构建的驱动程序相反)。

thanks for your answer. 感谢您的回答。

what I found now by trying myself is yes, it's possible by doing "build & sysgen" of "winceos" folder under PRIVATE. 我现在通过尝试发现的结果是肯定的,可以通过对PRIVATE下的“ winceos”文件夹进行“ build&sysgen”操作来实现。

The change execution on kernel code was just adding a RETAILMSG to see the HANDLE count. 对内核代码的更改执行只是添加一个RETAILMSG来查看HANDLE计数。 The file handle.c create handle table and give handles. 文件handle.c创建句柄表并提供句柄。 There is a number of commands creating/allocating handle. 有许多命令创建/分配句柄。 I do not really know, by which handle requests the kernel calls handle.c(??), but it "can" for some developers be usefull to be able to manuplate it?? 我真的不知道,内核通过哪个句柄请求来调用handle.c(??),但是对于某些开发人员来说,“操纵”它是有用的吗?

But in summary, doing "build & sysgen"+"MakeRunTimeImage" makes the changes on kernel valid. 但总而言之,执行“ build&sysgen” +“ MakeRunTimeImage”可使内核上的更改有效。 I did it on "PRIVATE/winceos", but perhaps it's also possible by doing iy more locally, for example on PRIVATE/winceos/COREOS/nk/kernel folder. 我是在“ PRIVATE / winceos”上完成的,但也许也可以通过在本地进行更多操作来实现,例如在PRIVATE / winceos / COREOS / nk / kernel文件夹上。 I didn't tried it ;) 我没有尝试过;)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM