爱收集资源网

C/C++开发者必知的解决挑战方法

网络整理 2023-09-25 13:07

“C++ 不仅是性能最强悍的语言,而且也是一门伟大的语言!它具有真正的子类,它是表达性的,是程序员最喜欢的语言之一。”

- JFrog 软件工程师兼Conan.io的创建者迭戈·罗德里格斯 - 洛萨达( Diego Rodriguez-Losada )

这种表现强悍的语言在所有行业中持续得到使用和追捧。然而,尽管 DevOps 在 Java 等软件开发的其他主要领域早已普遍存在c尝试运行项目时出错,但施行现代 C 和 C ++项目的 DevOps 并不容易,尽管实际上解决方案可以提供帮助。

我们来瞧瞧 C / C ++ 开发人员面临的挑战,然后瞧瞧怎么解决这种挑战。

概览

C 和 C ++ 语言因为许多重要诱因而遭到许多开发人员的偏爱。但是,实施现代 DevOps 和持续集成 C 和 C ++ 项目并不容易。由于 C / C ++ 编程语言和生态系统的性质,它依然具有挑战性。今天,我们有知识和经验来确定我们须要满足现今 DevOps 对 C 和 C ++ 的需求。我将用下边的案例来证明这是可能的。

开发 C 和 C ++ 项目

c尝试运行项目时出错_c尝试运行项目时出错_c尝试运行项目时出错

理想情况下,我们希望从开发人员变更到生产的 CI / CD 流程尽可能平稳和快速。但是,与其他开发语言相比c尝试运行项目时出错,C / C ++ 开发人员面临着更大的挑战:

现代 DevOps 对 C 和 C ++ 的要求

鉴于以上列举的挑战,C 和C ++ 项目的现代 DevOps 实践和工具要求是哪些?

Conan C / C ++ 包管理案例研究

Conan 是一个免费的 OSS C / C ++ 包管理器。它是分布式的,可移植的和多平台的,运行在许多操作系统上,比如 Windows,Linux,Mac,BSD 和 Solaris ,而且针对任何可能的 C / C ++ 应用程序。

Conan 如何满足上述要求:

Conan 软件包的配置是用 Python 编写的,所以它们可以用标准的 Python 语法很容易地自定义行为,使用户可以轻松地插入本文上面提及的许多不同的工具:静态剖析,测试,代码覆盖面,等等。

c尝试运行项目时出错_c尝试运行项目时出错_c尝试运行项目时出错

让我们来瞧瞧从 DevOps 的角度来看一个典型的流程,来说明 Conan 如何工作。首先,开发人员将个别源代码修改为特定的库( LibB ),并将这种修改递交给共享版本控制系统服务器( Git Repo )。

图表:C / C ++与 Conan,Artifactory 和 Jenkins(构建系统:CMake,VS,MakeFile)的 CI 循环示例。

然后,CI 系统监控 Git 存储库,理想情况下使用 Git hooks ,因为不建议进行寻址,并为其启动一个工作(Jenkins)。下面是一个怎样用 Jenkins pipeline 定义的事例:

上例中的第一个阶段很简单。第二个阶段调用内部分割成两个子任务的包创建:

结论

与其他正在开发的编程语言相比,C 和 C ++ 有更多的挑战。这也促使尝试施行现代 DevOps 时更具挑战性,但并非不可能。C / C ++ 已经被忽视了,现在是时侯更新工具来满足开发人员的需求了。您在 C / C ++ 项目中施行了什么 DevOps 原则和实践呢?

c尝试运行项目时出错
相关文章