官术网_书友最值得收藏!

Package managers

"The key to efficient development is to make interesting new mistakes."                                                                                                                                                               

– Tom Love

A real-world software code base is often organized into multiple files and will have many dependencies, and that calls for a dedicated tool for managing them. Package managers are a class of command-line tools that help manage projects of a large size with multiple dependencies. If you come from a Node.js background, you must be familiar with npm/yarn or if you are from Go language, the go tool. They do all the heavy lifting of analyzing the project, downloading the correct versions of dependencies, checking for version conflicts, compiling and linking source files, and much more.

The problem with low-level languages like C/C++ is that they do not ship with a dedicated package manager by default. The C/C++ community have been using the GNU make tool for a long time, which is a language-agnostic build system and has arcane syntax, that puts off many developers. The problem with make is that it does not know what header files are included in your C/C++ sources, so they have to be manually given this information. It has no built-in support for downloading external dependencies, nor does it know about the platform you are running on. Fortunately, this is not the case with Rust as it ships with a dedicated package manager which has more context on the project being managed. What follows is a tour of Cargo, Rust's package manager, which makes it easy to build and maintain Rust projects. But first, we need to dig into Rust's module system a bit more.

主站蜘蛛池模板: 平乐县| 阳曲县| 清新县| 常宁市| 尚义县| 庐江县| 祁阳县| 安多县| 友谊县| 福建省| 青海省| 高碑店市| 黄冈市| 樟树市| 桑植县| 恩施市| 诸暨市| 岳西县| 丰县| 鄢陵县| 揭东县| 黄石市| 陈巴尔虎旗| 偏关县| 武山县| 大英县| 安图县| 社会| 肃宁县| 昭苏县| 社会| 无棣县| 满洲里市| 固原市| 东莞市| 平乡县| 武汉市| 米泉市| 尉氏县| 乌什县| 文登市|