我对嵌入式固件设计中使用的术语很好奇。我目前正在开发一个使用 WinCE 7 的项目。通过研究现有代码,我浏览了多个有关模块、进程和线程的高级和低级文档。我决定做一些研究,以便能够将定义与现有的代码架构联系起来。
我确实理解(或认为我理解)的是线程是进程的子进程,即进程由线程或轻量级进程组成。进程的功能是单击 Microsoft Word 图标,然后根据需要执行相应的线程来执行该进程。线程是一个小的、集中的进程,它负责主进程的特定部分。如果我对线程和进程的理解有误,请纠正我。
我迷失的是进程和模块之间的差异。如果进程是执行任务所需的线程的执行,例如单击 MS Word 图标,那么什么是模块?
他们描述固件的方式是这样的:“系统架构将由 7 个模块组成。每个模块负责特定的功能,例如数据存储、数据处理、用户界面等。 ……”。由此,我收集到,我的 Visual Studio 项目的子项目文件夹下列出的这些“模块”是高级系统设计,每个模块都包含构成流程的子文件(.cpp/.h),并且这些流程内部是线程(函数/类等)。我的理解正确吗?
提前致谢,对于这么长的问题深表歉意。
最佳答案
Windows CE(以及一般的 Windows)上的进程是应用程序的私有(private)地址空间。 线程是一个执行流。一个进程内可能有多个线程,主线程决定进程的生命周期。如果退出(WinMain 函数),该进程将关闭,分配给它的所有资源都将被释放。 模块是包含当前加载到内存中的代码的二进制文件。它可能是一个exe文件(用于启动进程)或动态链接库(dll)。
关于c++ - 模块、进程和线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27000718/