如果用python来启动编译器进行编译。

fangqing0827 fangqing0827 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
因为要写一个自动化打包的程序,所以写了一个python脚本。目的就是调用vs编译器对指定的sln 文件进行编译。

最开始的代码如下:(注:slnfile 为变量,代表要编译的sloution文件)

subprocess.call(['cmd.exe', "/c", r'C:\\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe /t:Rebuild /p:Configuration=Release '+ slnfile+'&& exit %%ERRORLEVEL%%'])

python可以正确执行这行代码。但是调用MSBuild.exe 进行编译太慢,如果直接调用C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.com 进行编译的话,devenv.com 会开启多个msbuild.exe进行编译,编译会更快。

如是修改代码如下:
subprocess.call(['cmd.exe', "/c", r'C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.com '+ slnfile+r' /Rebuild "Release|WIN32" ' + && exit %%ERRORLEVEL%%'])
由于C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.com 这个路径中有空格,python 只会读到C:\Program,并提示找不到C:\Program(.exe) 这个程序。


求这行代码的正确写法。
...全文

相关推荐

python编译器

python 编译器尼恩卡哪款弗兰克斯家乐福离开家斐林试剂斐林试剂按附件雷锋精神看了附近开了四大讲

徐智魔

在ROS1中,直接编译C++或Rust代码为可执行文件,而不通过ROS包的形式

让我们一步步完成这个实验。我们将创建一个简单的C++和Rust程序,编译它们为可执行文件,并在ROS环境中调用这些可执行文件。在ROS1(Robot Operating System)中,默认的构建系统是catkin,它基于CMake。catkin是ROS的元构建系统,用于管理和构建ROS包。每个ROS包都需要一个文件来定义如何构建包中的代码。我们将使用CMake直接编译 C++ 和 Rust 代码为可执行文件,并在 ROS 环境中通过 ROS 节点进行消息收发测试。

夜间出没的AGUI

告别PyInstaller大体积!用Nuitka+MinGW64打包Python 3.7程序为exe的保姆级避坑实录

PyInstaller虽然简单易用,但生成的exe文件体积常常让人望而生畏——一个简单的GUI程序动辄几百MB甚至上GB。PyInstaller本质上是一个打包器,它将Python解释器、你的代码和所有依赖项打包成一个独立的可执行文件。在实际测试中,一个使用PyInstaller打包后1.2GB的机器学习应用,改用Nuitka后体积缩小到不到300MB,启动时间也从15秒缩短到3秒。虽然Nuitka的打包时间较长,但在运行时性能和体积上的优势非常明显。的输出,说明配置正确。

丑心疼

Python代码编译实战:Nuitka原理、优势与项目打包指南

Python作为一门解释型语言,在代码分发和性能优化方面常面临挑战。传统打包工具如PyInstaller通过封装解释器和依赖库实现分发,但本质上仍是解释执行,存在启动慢、代码易暴露等问题。编译技术通过将高级语言转换为机器码,能从根本上提升执行效率和代码安全性。Nuitka作为Python到C++的编译器,实现了这一技术路径:它解析Python语法结构,生成高度优化的C++代码,再调用系统编译器生成真正的原生可执行文件。这种方案不仅带来显著的性能提升(实测矩阵计算可优化35%),更重要的是实现了真正的代码保护

西陆强军号

python编译器 绿色版,直接放到d:盘即可

python编译器,绿色版,免安装,解压即可直接运行.

kuifeng.dong
评论 2
收藏 已收藏
分享
返回顶部
fangqing0827
C++ 语言 65,214 成员 250,514 内容