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

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.

主站蜘蛛池模板: 会同县| 葫芦岛市| 宣汉县| 平阴县| 大关县| 门头沟区| 阳谷县| 古蔺县| 宕昌县| 建昌县| 宁陵县| 察哈| 天气| 陇南市| 清流县| 白山市| 冀州市| 南郑县| 蕲春县| 沅陵县| 顺平县| 石泉县| 资兴市| 逊克县| 泽普县| 长白| 长岛县| 凤山市| 晋江市| 长泰县| 澄江县| 吴桥县| 盐亭县| 从江县| 正镶白旗| 正安县| 建平县| 壶关县| 荆门市| 信宜市| 定陶县|