Do not use the floating sand to build a high-end platform to remove dependency on the Microsoft Runtime Library (runtime)

Source: Internet
Author: User

Do not build a high-end server in the sand float. In the computer software field, Microsoft technology is the biggest sand float. Fifteen years ago, when I wrote a hello WorldProgramI can say it can definitely run on your computer. Today, if you ask me if the hello World Program I wrote can run on your computer? I will tell you, you 'd better give it a try. If you can run it, please let me know. You didn't hear me wrong. Yes, I don't know if the program I wrote can run on your computer. But believe it or not, it can run on the computer I used for development, as for running on your computer, "the application configuration is incorrect..." may pop up... "," r6034 "may pop up .. "And so on. Who knows. What we need is a stable platform with beautiful ideals, but the reality is very skinny. Our end users have already been bound to a beautiful Sand float platform, so we have to continue. This article will first talk about removing dependencies on Microsoft runtime libraries.

After investigating the Chinese text, Kong Yiji believes that there are four types of "NLP" words. Microsoft believes that there are several writing methods in the Runtime Library, such as msvcr. DLL, msvcr70.dll, msvcr70d. DLL, msvcr80.dll, msvcr80d. DLL, msvcr90.dll, msvcr90d. DLL ..... each version is divided into multiple sub-versions, such as the original version, SP1 version, SP1 + ATL correction, and some versions also include the English version, Chinese version, and other language versions. to manage these libraries in integration systems such as plug-in frameworks, you 'd better draw a runtime database structure UML diagram. For example, the runtime database management object consists of multiple runtime database objects of the main version, the Runtime Library of each main version is composed of multiple runtime libraries with different configuration versions, such as debugging version, release version, and release version with debugging information, the Runtime Library of each configuration version consists of multiple original versions, SP1 versions, sp1_1 versions, SP2, and other modified Configuration sub-versions. Each revised configuration sub-version may consist of an English version, a Chinese version, and other Earth language versions. Because these database versions may have repeated names (26 letters are too small to describe the names of Microsoft runtime databases), each Runtime Library introduces a uuid. In short, understanding these runtime libraries can successfully demonstrate the ability of a computer programmer to control complex problems. It is enough for a computer professional master's or doctoral degree to serve as a graduation thesis.

To reduce the management complexity of the plug-in Framework for the Microsoft Runtime Library, we should try our best to make every plug-in remove dependencies on the Microsoft Runtime Library. When you use vs2008 to create a project, although you see "using the standard Windows library" in "project" => "property" => "configuration property" => "general" => "MFC usage", but in the project file "{project name }. the "runtimelibrary" attribute value in vcproj "is" 2 "or" 3 "(Observer mode sometimes fails in Microsoft software). There are two solutions:

1. First, change the "use of MFC" attribute to any other attribute value, for example, "use MFC in a static library", re-compile, compile and compile, but it doesn't matter, then change to "use the standard Windows library" and recompile it. Note that this method is not suitable for large projects such as chrome (it takes n hours or N days to compile ).

2. Open "{project} in a text editor }. vcproj ", search for all runtimelibrary =" 3 "or runtimelibrary =" 2 ", replace it with runtimelibrary =" 1 ", and recompile it.

After compilation is successful, use depends.exe to view the plug-in module and verify that the dependency on the Microsoft Runtime Library is removed (similar to "C: \ WINDOWS \ winsxs \ x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_f863c71f \ msvcp90d. dll" is not visible ).

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.