Tag: 编译

编译Python到机器代码是否可行?

将Python(可能通过中间的C表示)编译成机器代码有多大的可行性? 据推测,它将需要链接到一个Python运行时库,Python标准库中的任何部分都是Python本身需要编译(并链接)。 另外,如果要对expression式进行dynamic评估,则需要捆绑Python解释器,但也许是不允许使用的Python子集仍然有用。 它会提供任何速度和/或内存使用优势? 据推测,Python解释器的启动时间将被消除(尽pipe共享库在启动时仍然需要加载)。

Cython能编译成EXE吗?

我知道Cythons的目的是什么。 这是编写一个类似Python的语言编译C扩展,以便在您的代码中产生加速。 我想知道(似乎无法find使用我的谷歌福),如果Cython可以以某种方式编译成可执行格式,因为它似乎已经打破了python代码到C 我已经使用了Py2Exe,它只是一个打包程序,但是有兴趣使用它来编译一些有点难解开的东西(使用Py2EXE打包的任何东西基本上都可以使用我不想要的7zip来提取) 看来,如果这是不可能的,我的下一个select将只是编译我的代码,并将其作为一个模块加载,然后使用py2exe打包,至less我的代码大部分是编译的forms,对不对?

将简单的Python脚本转换为Windows可执行文件的过程

我写了一个脚本,在日常生活中帮助Windows用户。 我想简单地发送她的.exe,而不是要求她安装python,dll或不得不处理任何额外的文件。 我已经读了很多关于将Python脚本编译成可执行文件的stackoverflow条目。 我有点困惑,因为有很多select,但有些看起来有点过时(自2008年以来没有更新),没有一个足够简单,我花了几个小时后,现在不要问这个问题。 我希望有一个更好的,最新的方式来做到这一点。 我看着: pylunch py2exe cx_Freeze py2app (仅适用于Mac) pyinstaller bbfreeze 但要么我不能让他们工作,或不明白如何得到我需要的结果。 我得到的最接近的是py2exe,但它仍然给了我MSVCR71.dll 我将不胜感激一步一步的答案,因为我也无法遵循这里需要事先了解如何使用py2exe或一些其他工具的一些调整的答案。 我正在使用Python 2.5,因为其中一个模块仅适用于该版本。

团结的好处/坏处build立?

从一家新公司开始,我注意到他们使用统一的cpp文件来解决我们的大部分问题,我想知道是否有人能够给我一个明确的理由,说明为什么以及如何加速构build过程? 我会认为在统一文件中编辑一个cpp文件将强制重新编译所有这些文件。

Visual Studio 2005编译时间非常慢

我们的编译时间非常慢,在双核2GHz,2G的Ram机器上可能需要20多分钟的时间。 这很大程度上是由于我们的解决scheme的规模已经增长到70多个项目,以及VSS本身就是瓶颈,当你有很多的文件。 (交换出VSS不是一个不幸的select,所以我不希望这下降到VSS bash) 我们正在考虑合并项目。 我们也正在寻求多种解决scheme来实现应用程序中每个元素的更多关注点和更快的编译时间。 当我们尝试保持同步时,我可以看到它将成为一个DLL地狱。 我很有兴趣知道其他团队如何处理这个扩展问题,当你的代码基数达到临界质量时,你会怎么做,你浪费了半天的时间来观察状态栏提供的编译信息。 更新我忽略提及这是一个C#解决scheme。 感谢所有C ++的build议,但是我不得不担心标题已经有几年了。 编辑: 很好的build议,迄今为止帮助(不说下面没有其他好的build议,只是有什么帮助) 新的3GHz笔记本电脑 – 失去利用的力量的工作奇迹时,pipe理呜咽 在编译期间禁用防病毒 在编译期间断开与VSS(实际上是networking)的连接 – 我可能会让我们完全删除VS-VSS集成,并坚持使用VSS UI 仍然没有通过编译啜饮,但每一点都有帮助。 猎户座在一个评论中也提到了generics也可能有戏剧性。 从我的testing看来,这似乎是一个最小的性能影响,但还不足以确定 – 由于光盘活动,编译时间可能不一致。 由于时间限制,我的testing没有包含尽可能多的generics,也没有包含尽可能多的代码,就像在实时系统中出现的那样,这样可能会累积起来。 我不会避免使用他们应该使用的generics,只是为了编译时的性能 替代方法 我们正在testing在新解决scheme中构build应用程序新领域的做法,根据需要导入最新的dll,当我们满意时将它们集成到更大的解决scheme中。 我们也可以通过创build临时解决scheme来完成与现有代码相同的操作,这些临时解决scheme只是将需要处理的区域封装起来,并在重新集成代码后将其扔掉。 我们需要权衡重新整合这些代码的时间,而不是让Rip Van Winkle喜欢在开发过程中快速重新编译的经验。

是否有可能在.NET运行时编译和执行新的代码?

注意:mathexpression式评估不是这个问题的重点。 我想在.NET中运行时编译和执行新的代码。 话虽如此… 我想让用户在文本框中input任何等式,如下所示: x = x / 2 * 0.07914 x = x^2 / 5 将这个方程式应用于传入的数据点。 input数据点由x表示,每个数据点由用户指定的等式处理。 我在几年前做过,但是我不喜欢这个解决scheme,因为它需要为每个计算都parsing方程的文本: float ApplyEquation (string equation, float dataPoint) { // parse the equation string and figure out how to do the math // lots of messy code here… } 当你处理数据点的时候,这会带来很多的开销。 我希望能够将这个方程转化为一个函数,这样它就只需要被parsing一次。 它看起来像这样: FunctionPointer foo = ConvertEquationToCode(equation); …. x […]

Java是编译的还是解释的编程语言?

在过去,我使用C ++作为编程语言。 我知道使用C ++编写的代码需要经过一个编译过程,直到它成为目标代码“机器代码”。 我想知道Java在这方面是如何工作的。 用户如何编写由计算机运行的Java代码?

如何将.NET应用程序编译为本机代码?

如果我想在.NET框架不可用的机器上运行.NET应用程序, 有什么办法将应用程序编译为本机代码?

在非标准位置构build支持SSL的Python

我需要在一个RHEL上安装几个Python模块,我没有root权限。 至less有一个模块也需要访问Python.h 。 在这种情况下,我发现最好的办法是在~/local安装python及其依赖项。 它通常只是工作,但是这一次Python无法构buildSSL模块(请参阅下面的详细信息)。 这是我正在做的事情的痕迹。 于是我下载了python 6源码,关掉了我: ./configure –prefix=/home/fds/rms/local make >& make.log 对日志的检查显示ssl模块没有被编译,但没有提到原因(在make或configure中没有其他的ssl发生): Failed to find the necessary bits to build these modules: _bsddb _curses _curses_panel _hashlib _sqlite3 _ssl <———- 所以我认为,python根本没有find任何ssl库(这是奇怪的,但嘿…)。 所以我下载openssl-0.9.8r和 ./config –prefix=/home/fds/rms/local shared make make install 现在回到Python,我./configure并再次。 它失败了,但这一次是不同的: Failed to build these modules: _hashlib _ssl 仔细检查日志文件可以发现: gcc -pthread -shared build/temp.linux-x86_64-2.6/home/fds/rms/installers/Python-2.6.6/Modules/_ssl.o -L/home/fds/rms/local/lib -L/usr/local/lib […]

Visual Studio 2012中的“首选32位”设置的目的是什么?它实际上是如何工作的?

我不清楚编译器在需要的时候会自动知道如何编译64位。 它如何知道什么时候可以自信地瞄准32位? 我主要对编译器在编译时如何知道目标架构感到好奇。 它分析代码并根据它发现的结果做出决定吗?