关于api函数的问题

我最近接触了MFC,也用它编写了一些基于windows的程序,但是越来越好奇的就是,微软给开发者留了大量的api函数以使用windows的一些功能,比如按照MSDN的说明... 我最近接触了MFC,也用它编写了一些基于windows的程序,但是越来越好奇的就是,微软给开发者留了大量的api函数以使用windows的一些功能,比如按照MSDN的说明,调用一个函数就能实现系统托盘,等等。
我的疑问就是一个操作系统那个的api只是调用其自身拥有的功能的接口,但是究竟函数的完整实现的源代码在哪里写着呢?是那些不能看的lib里面写着吗?还是别处在那里写着?
还有像windows操作系统的源代码使用哪种语言编写的呢?
呵呵~~当然微软没有开源,大概给我说说就行啊,我懂的不多,还得多请教各位了~~~谢谢
展开
 我来答
stone_dongdong
2009-09-10 · TA获得超过2853个赞
知道大有可为答主
回答量:1636
采纳率:0%
帮助的人:1024万
展开全部
源代码在微软的保险箱里。
windows api 的执行要走好多层,才能走到真正要执行的代码部分。
在用户层看到的所有api,最终都指向 kerner32.dll/user32.dll/gdi32.dll 几个库文件。(当然这几个文件都只是stub,绝大多数api的核心代码在内核级的几个库里面)。
动态库的 lib 类似于 h文件,只是导出函数、变量、类的声明而已。里面没用代码。(你的exe如果引用了这个lib,运行时候,必须有这个lib相关的dll才能正确执行)。
纯静态lib,包含有二进制代码+导出头。运行时候不需要相关的dll文件。

用MFC编程的话,使用的是ms的几个库文件 mfc71.dll (MFC核心库)。msvcrtxx.dll(微软运行时库),还有其他的几个库。MFC库是实现了MFC编程使用的对话框SDI/MDI,线程模型等等所有的扩展实现,但是内部还是调用了操作系统的API,比如创建窗口,最终还是使用的系统API,CreateWindow函数。只不过微软给包装了一下,使编程开发方便了些。运行时库里面大部分实现的是字符串函数,数学函数,内存管理等常规必须的操作部分,这部分 ISO 也有自己的库,在VC的工程配置里面可选那种库方案。

SDK编程的话,就是直接操作系统API编程,只有就不使用mfc的库了。
small0224
2009-09-10 · TA获得超过163个赞
知道答主
回答量:432
采纳率:0%
帮助的人:227万
展开全部
肯定只会给你头文件和库文件,源文件人家不会给你的。
操作系统是用C编写的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
江小右
2009-09-09 · TA获得超过6928个赞
知道小有建树答主
回答量:1195
采纳率:0%
帮助的人:830万
展开全部
windows操作系统的源代码使用哪种语言编写
c语言
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式