Current location - Music Encyclopedia - Dating - Since Windows is not open source, how do programmers develop supporting software for it?
Since Windows is not open source, how do programmers develop supporting software for it?

The questioner may not know much about software development. That’s right. Whether you can develop software has no direct relationship with whether it is open source. Microsoft provides a very good document library, MSDN, which contains detailed introductions to interface functions, input parameters, and return values. Programmers only need to follow these documents to write corresponding software.

To give an example in life, when we apply for an ID card, we only need to provide some necessary materials, such as household registration book, and then wait to receive the certificate. One more thing I can say here is that the ID card is usually not available immediately. Often we will be given a receipt and we will be notified later to get the ID.

The necessary materials here are registration; the public security bureau household registration is the function; the specific internal processing process of the public security is the internal implementation of the function (more appropriately called an interface); the receipt is the acceptance result; the final ID card is Final result.

This is also equivalent to the asynchronous calling process in software-accept first and then call back.

Finally, this is just a simple example for beginners. Software developers do not need to worry about the inaccuracies.

Developing based on windows does not require open source. API functions and application frameworks are the coordination between developers and the operating system. Most of the underlying work is done by programming software. Software developers only need to focus on application modeling and human-computer interface.

Open source does not make direct sense to software developers. The purpose of the operating system is to reduce developers' direct dealings with hardware and to enjoy system calls and services, such as messaging mechanisms. From this perspective, open source does not bring benefits to developers.

A good compilation system is what developers need most. Even most of the APIs are packaged. It can be considered that developers are facing a virtual machine. A virtual machine consists of a hardware operating system and a compiler.

For example, if you want to display hahaha on the screen, write showmessage(""hahaha") in Delphi.

Because there is the strongest IDEvs on earth, and he can connect to known MSDN is the most powerful product documentation in the universe. It is also protected by Technet. After decades of continuous investment, it has formed its own style. Even if you have never used it, you can guess that it is 7788 but you can’t invest so much. , what else can you do?

Compare win to a car. You don’t know what the internal structure of the vehicle is like, but you just know how to operate it. If you know how to operate it, you can make it work. Will the car take you where you want to go?

Thanks for the invitation. Your question has nothing to do with it. Whether the system is open source has nothing to do with the software. It is just like the Apple mobile phone we use. Similarly, the Apple system is not open source, but the more people use it, the greater its market value. Naturally, more people are willing to develop software on this platform. The following is my thinking on this issue, for reference only:

First understand the relationship between computer systems and software

Computer system software includes system software and application software. A computer without any software installed is called a bare metal. Bare metal is difficult for people to use. Software is an essential part of the computer system. System software is the system software that runs directly on the bare metal and is the basis for other software to run. The following figure shows the relationship between computer hardware and software

Operation The ecological problems of the system have created developers to develop software for it

From Microsoft-DOS released in 1985 to the current Windows 10, data shows that Windows still dominates 91.59%, followed by Mac accounts for 6.27%, and finally Linux accounts for 2.14%. The usage rate in our country is as high as 95%.

Why is there such a high proportion in our country? The main reason is that in the early stage of the market, Microsoft took a conniving approach. The attitude of piracy allows everyone to use it for free, which makes many people around us use it. In addition to this reason, the system itself is simple and easy to use, and it does not take too much time to learn.

There is another important reason. The office software launched by Microsoft has the best experience in Windows. We have become dependent on it in our daily work and life. Once we develop habits, it will naturally be difficult to get rid of the Windows system.

The more people use it, the greater its commercial value, just like the more people use WeChat, many people and companies make public accounts on it, Toutiao accounts and Douyin are popular, and many people are using it. The same principle applies to self-media as above, traffic is king. The same is true for the Windows ecosystem, so many companies and developers are happy to develop software for the Windows system. Not only ordinary C-side users need it, but many enterprises and institutions also use the Windows system, which requires a lot of customized software. This is just needed. Demand has also led to more and more companies investing in the development of Windows software.

Section

That’s all for today’s sharing. Since we have developed a serious dependence on Windows, and the dependence constraints are strong, it will be more difficult to get rid of it. If One day Microsoft no longer allows us to use the Windows system, and the impact on us is unimaginable. I hope that one day we can also build an operating system with a strong ecosystem and easy to use.

Thank you for reading. If you have any good ideas, please share them in the message area. If you agree with my answer, please like and forward it. Thank you for your support.

Windows is a microkernel architecture. Each module communicates through a message mechanism. The degree of coupling between modules is relatively low. It can be encapsulated into an independent API interface for application calls without having to open source the core code. Because the API returns an error, the problem lies in this module and will not involve other modules. It is easy to find the problem even if it is not open source.

Linux with macro kernel is different. The modules themselves rely on API calls. If the API called by the outer layer returns an error, it may often be returned by the upper layer API, so we need to analyze it. The source code can be used to find the problem.

You feed him the data he needs, and he returns what you want. . . The function of Alipay is also called in this way.

There are thousands of components in the TV, all installed in the casing. You can’t see them and you may not understand the principles (it’s not open source), but almost everyone uses them. Why? Because the TV has buttons and a remote control (API interface). You don’t need to look inside, just be able to control it.

Because Windows has opened up many encapsulated module interfaces for program developers to facilitate calls by programs. These interfaces can be found on msdn and are called api function interfaces. Windows encapsulates many library files ( dll library), which respectively implement different functions. When developing software, programmers can just call the corresponding api functions in these dll library files.

In fact, Windows is a black box, but some interfaces have been exposed to the outside world. These interfaces have corresponding documentation, describing the type of interface, the purpose of the interface, and the types of each parameter of the interface. Some documents will also include some examples to show you how to use them, which can effectively solve the problem of programmers developing applications for them.

The following pictures are descriptions of windowsapi