为什么Windows中没有C ++? [英] Why no C++ in Windows itself?

查看:132
本文介绍了为什么Windows中没有C ++?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

现在很长一段时间我正在使用Dependency Walker for Win32。并且

在System32中导航不同的Dll。找到我的目标API的文件夹

函数。我注意到的是,''几乎''所有系统.dll和

..exe

文件是用C而不是C ++编写的。如果C ++是一种功能强大的OO语言并且它比大型应用程序开发的C大得多,那么为什么微软在它的操作系统中使用了它? ?这是否存在兼容性问题

我不知道?或其他什么?

---

感谢您的评论

解决方案

Herr Lucifer写道:

现在很长一段时间我正在使用Dependency Walker for Win32。并且在System32中导航通过不同的Dll。找到我的目标API
函数的文件夹。我注意到的是,''几乎''所有系统.dll和
.exe
文件都是用C而不是C ++编写的。如果C ++是一种功能强大的OO语言,并且它对于大型应用程序开发而言比C大得多,那么为什么微软在其操作系统中没有使用它呢?是否存在兼容性问题
我不知道?或其他什么?




你怎么知道它们是用C语写的?您是否检查了

汇编程序以查找是否存在C ++启动代码(例如运行全局对象构造函数的

)?请记住,C ++代码不需要动态地链接到C ++运行库,并且它不需要向外界提供C ++

接口。


Tom


GDI系统至少用C ++编写。

Herr Lucifer写道:

现在很长一段时间我正在使用Dependency Walker for Win32。并且在System32中导航通过不同的Dll。找到我的目标
API函数的文件夹。我注意到的是,''几乎''所有系统.dll
和.exe
文件都是用C而不是C ++编写的。如果C ++是一种强大的OO语言,并且它比大型应用程序开发的C大得多,那么为什么
还没有Microsoft在其操作系统中使用它?这里有兼容性的
问题我不知道吗?还是其他什么?



你怎么知道它们是用C语言编写的?您是否检查了汇编程序以查找是否存在C ++启动代码(例如运行全局对象构造函数)?请记住,C ++代码不需要与C ++运行时动态链接,也不需要向外界提供C ++
接口。

Tom


我不知道你对C ++的看法,但在最早的定义中,C ++被称为C with classes。所以如果那里没有课,那就没有C ++

代码;它只是纯粹的C ....

PS:依赖性walker(版本2.1.36668)能够在他们的C ++中显示他们的类中的函数。看看你是否有VS.NET 2003

-----------------------

" ;汤姆威德默 <到******** @ hotmail.com>在消息中写道

你怎么知道它们是用C语言编写的?您是否检查了汇编程序以查找是否存在C ++启动代码(例如运行全局对象构造函数)?请记住,C ++代码不需要与C ++运行时动态链接,也不需要向外界提供C ++
接口。

Tom


It is a long time now that I am using "Dependency Walker for Win32" and
navigating through different Dlls in "System32" folder to find my target API
functions. The thing I have noticed is that, ''almost'' all system .dll and
..exe
files are written in C and not C++. If C++ is a powerful OO language and
it''s much greater than C for large application development, then why haven''t
Microsoft used it in its operating system? Is there a compatibility issue
here that I am not aware of? Or something else?
---
Thanks for comments

解决方案

Herr Lucifer wrote:

It is a long time now that I am using "Dependency Walker for Win32" and
navigating through different Dlls in "System32" folder to find my target API
functions. The thing I have noticed is that, ''almost'' all system .dll and
.exe
files are written in C and not C++. If C++ is a powerful OO language and
it''s much greater than C for large application development, then why haven''t
Microsoft used it in its operating system? Is there a compatibility issue
here that I am not aware of? Or something else?



How can you tell that they are written in C? Have you examined the
assembler to look for the presence of C++ startup code (such as the
running of global object constructors)? Remember that C++ code need not
dynamically link with the C++ runtime, and it need not present a C++
interface to the outside world.

Tom


The GDI system is written in C++, at least.

Herr Lucifer wrote:

It is a long time now that I am using "Dependency Walker for Win32" and
navigating through different Dlls in "System32" folder to find my target API functions. The thing I have noticed is that, ''almost'' all system .dll and .exe
files are written in C and not C++. If C++ is a powerful OO language and
it''s much greater than C for large application development, then why haven''t Microsoft used it in its operating system? Is there a compatibility issue here that I am not aware of? Or something else?



How can you tell that they are written in C? Have you examined the
assembler to look for the presence of C++ startup code (such as the
running of global object constructors)? Remember that C++ code need not
dynamically link with the C++ runtime, and it need not present a C++
interface to the outside world.

Tom



I don''t know what you think of C++, but in its earliest definition, C++ was
called "C with classes". So if there is no class in there, there is no C++
code; it is just pure C....
PS: dependency walker (version 2.1.36668) is able to show functions inside
their classes if their are C++. Take a look if you have VS.NET 2003
-----------------------
"Tom Widmer" <to********@hotmail.com> wrote in message

How can you tell that they are written in C? Have you examined the
assembler to look for the presence of C++ startup code (such as the
running of global object constructors)? Remember that C++ code need not
dynamically link with the C++ runtime, and it need not present a C++
interface to the outside world.

Tom



这篇关于为什么Windows中没有C ++?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆