CMake + Python 搭建构建系统

cmake、Makefile、 python 脚本,构建工具
摘要由CSDN通过智能技术生成

构建系统

一. 构建系统

1.1 编译器(compile)与构建系统(build system)

编译器

在软件开发中,编译器负责将源代码文件转化为可执行的二进制代码文件的,也可以说是将源代码“翻译”为可执行文件。

比如我们经常用的gcc,基本步骤是预处理、编译、汇编、链接。最终生成可执行文件或者共享库,绝大多数编译器的工作都是类似的。

构建系统

构建系统是一组软件工具和实用程序的集合,旨在简化和自动化软件开发中的构建过程。它提供了一个框架,用于管理和协调构建软件项目中涉及的各种任务和步骤。 通常包括但不限于编译源代码、解决依赖关系、链接库、生成可执行文件或分发包以及执行其他构建相关任务的工具。如我们常见的有GNU Make、Ninja等。

由此可见,构建系统是包含编译器的。

尽管随着时间的推移,构建系统也在不断发展和改进,引入了更多的功能和特性,以满足不断变化的软件开发需求。比如,构建缓存、增量编译、并行构建等技术。 但他们的大多数核心算法自从Make首次使用有向无环图(DAG)来表示文件之间的依赖关系,并确定构建顺序以来并没有发生太大的变化。

1. 我们是否可以直接使用编译器而不是用构建系统?

对构建系统的需求可能不那么显而易见。大多数工程师在学习编码时不会使用构建系统。大多数工程师会先直接从命令行调用 gcc 等工具,或在集成开发环境 (IDE),如KEIL ECLIPS SES等中 中调用同类工具。只要所有源代码都位于同一目录中,就可以直接使用命令:

gcc -c file1.c -o file1.o
gcc -c file2.c -o fi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
应用的步骤如下: 1. 安装 Crow Crow 是一个 C++ 微框架,用于快速构建 Web 应用程序。你可以通过以下命令在终端中安装 Crow: ``` $ git clone https://github.com/CrowCpp/crow.git $ cd crow $ mkdir build $ cd build $ cmake .. $ make $ sudo make install ``` 2. 创建一个 AngularJS 应用程序 在命令行中输入以下命令来创建一个 AngularJS 应用程序: ``` $ npm install -g yo generator-angular $ yo angular myapp ``` 这将创建一个名为 myapp 的新应用程序。 3. 编写后端代码 创建一个名为 server.cpp 的文件,并输入以下代码: ```c++ #include "crow.h" int main() { crow::SimpleApp app; CROW_ROUTE(app, "/api/hello") ([](){ return "Hello, World!"; }); app.port(8080).run(); } ``` 这将创建一个基本的 Crow 应用程序,并在 /api/hello 路径上返回 "Hello, World!"。 4. 编写前端代码 在 AngularJS 应用程序的 app.js 文件中,添加以下代码来定义一个名为 HomeController 的控制器: ```javascript angular.module('myapp') .controller('HomeController', function($scope, $http) { $http.get('/api/hello') .then(function(response) { $scope.message = response.data; }); }); ``` 这将从后端服务器获取 "Hello, World!" 并将其显示在页面上。 5. 运行应用程序 在命令行中,进入 AngularJS 应用程序的目录,并输入以下命令以启动服务器: ``` $ python -m SimpleHTTPServer ``` 然后,打开浏览器并访问 http://localhost:8000/app/index.html,你应该会看到 "Hello, World!"。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值