compilation相关内容

是否允许 C++ 编译器发出编译同一程序的不同机器代码?

考虑一种情况.我们有一些特定的 C++ 编译器、一组特定的编译器设置和一个特定的 C++ 程序. 我们使用该编译器和这些设置编译该特定程序两次,每次都进行“干净编译". 发出的机器代码应该相同(我不是指时间戳和其他花里胡哨的东西,我的意思是只有将要执行的真实代码)还是允许它在不同的编译中有所不同? 解决方案 C++ 标准当然没有说什么来防止这种情况发生.然而实际上,编译器通常是 ..
发布时间:2022-01-17 08:26:59 C/C++开发

C++程序的编译阶段是什么?

标准是否规定了 C++ 程序的编译阶段? 如果有,它们是什么? 如果不是,一个广泛使用的编译器的答案(我更喜欢 MSVS)会很棒. 我说的是预处理、标记化、解析等.它们的执行顺序是什么?它们具体做了什么? 编辑:我知道编译、链接和预处理做什么,我最感兴趣的是其他和顺序.当然,也欢迎对这些解释进行解释,因为我可能不是唯一对答案感兴趣的人. 解决方案 标准是否规定了 ..
发布时间:2022-01-17 08:20:16 C/C++开发

令牌和词位有什么区别?

在 Aho Ullman 和 Sethi 的 Compiler Construction 中,给定源程序的输入字符串被划分为具有逻辑意义的字符序列,称为标记,词位是组成令牌那么基本的区别是什么? 解决方案 使用“编译器原理、技术和工具,第 2 版" (WorldCat),作者 Aho、Lam、Sethi 和 Ullman,又名 紫龙书, 词素 pg.111 词位是源程序中的一个 ..
发布时间:2022-01-17 08:19:50 其他开发

编程语言编译器首先转换为汇编还是直接转换为机器代码?

我主要对流行且广泛使用的编译器感兴趣,例如 gcc.但如果不同的编译器做的事情不同,我也想知道. 以gcc为例,它是直接将C编写的短程序编译成机器代码,还是先将其翻译成人类可读的汇编,然后才使用(in-内置?)汇编程序将汇编程序翻译成二进制,机器代码——对CPU的一系列指令? 使用汇编代码创建二进制可执行文件是一项非常昂贵的操作吗?还是相对简单快捷的事情? (假设我们只处理 x8 ..
发布时间:2022-01-17 00:09:18 其他开发

Java 5 和 Java 6 的动态内存中 Java 代码编译

如何从 Java 5 和 Java 6 中的任意字符串(内存中)编译 Java 代码,加载它并在其上运行特定方法(预定义)? 在你发火之前,我查看了现有的实现: 大部分依赖于 Java 6 Compiler API. 那些不这样做的人,依靠技巧. 是的,我查看了 commons-jci.要么我太密集而无法理解它是如何工作的,要么就是没有. 我找不到如何为编译器提供我当前的类路径( ..

c#更改框架错误

我正在运行 Visual Studio 2010.我只是将项目的框架从 4.0 更改为 3.5.我删除了它要求我删除然后尝试编译的参考 Microsoft.Framework.我现在得到错误: 错误 1 ​​无法加载文件或组装'System.Drawing,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a' 或它的依赖项之一.系统找不到指定的文 ..
发布时间:2022-01-16 20:19:27 C#/.NET

Xcode 6.1:文件是为 x86_64 构建的,它不是被链接的架构 (i386)

我为 util/extensions 创建了一个 Swift 框架项目,它编译并复制一个 .framework 文件到我系统上的专用位置.我希望能够将此文件包含到其他项目中(Build Phases/Link Binary with Libraries).框架项目是 Cocoa Touch Framework 类型的项目(从 Xcode 6.1 项目模板浏览器中选择). 但是当我尝试编译一个 ..
发布时间:2022-01-16 19:41:13 移动开发

是否可以确定哪个 Fortran 编译器生成了“.mod"?文件?

假设我的机器上已经安装了一个包,我想知道是否需要重新生成模块包含文件 (.mod) 以使它们与我的其余编译兼容.有没有办法做到这一点? 解决方案 我在库和模块文件的某些时候遇到了类似的问题,但没有源.因为在某些情况下,获得正确的编译器比获得重新编译的源代码更容易,或者只重新编译 OP 提到的少数东西,我发现在 SO 上的某个地方获得 gfortran 模块的版本控制很有用.不幸的是,信息不 ..
发布时间:2022-01-14 10:25:00 其他开发

(1) 处的字符名称无效

我正在尝试编译一个 fortran 代码.它将分析 Y 目录中的 X 文件,然后使用结果创建一个新文件 Z.但是发生了一些错误. 当我写目录时,我发现一行太多了,然后我尝试在下一行继续它: namech='/home/matheus/Documents/UFABC/IC/Spectra/Elliptical/'+'espec.fits' 但是,当我尝试使用命令编译时 gfortr ..
发布时间:2022-01-14 09:42:53 其他开发

使用 GD 和 libjpeg 支持编译 PHP

我编译自己的 PHP,部分是为了了解更多关于 PHP 是如何组合在一起的,部分是因为我总是发现我需要默认情况下不可用的模块,而通过这种方式我可以控制它. 我的问题是我无法在 PHP 中获得 JPEG 支持.使用 CentOS 5.6.这是我在编译 PHP 5.3.8 时的配置选项: './configure' '--enable-fpm' '--enable-mbstring' '--w ..
发布时间:2022-01-13 21:35:23 PHP

在方法调用上生成编译错误的属性?

我想确保永远不会从代码中显式调用方法(在我的情况下实际上是构造函数).它只能在运行时通过反射调用.为此,我想在方法上应用一个属性,如果调用该方法会产生编译器错误,例如: [NotCallable("这个方法不能从代码中调用")]公共无效我的方法(){} 我知道我可以将方法设为私有,但在这种情况下,我将无法通过部分信任上下文中的反射来调用它... 为了完整起见,这里有更多关于我为什么需要这 ..
发布时间:2022-01-13 18:17:35 C#/.NET

Python 文件 - 相互导入

我想让我的两个 python 文件相互导入一些方法.这似乎给了我导入错误. 示例: file_A.py: from file_B import do_B_stuff file_B.py: from file_A import do_A_stuff 我之所以尝试这样做是因为我想以对我来说直观的方式来组织我的项目,而不是按照对编译器有意义的方式来组织它. 有没有办法做到这一点 ..
发布时间:2022-01-13 16:50:31 Python

如何获取 Python 编译时使用的选项列表?

您可以通过多种方式编译 Python.我想知道我的 Python 是用哪些选项编译的. 具体用例:我的 Python 是用 readline 编译的吗?我知道我可以通过“import readline"看到这一点,但我想查看我的 Python 二进制文件的编译设置列表. 编辑:我是指 Python 可执行文件,不是我自己编写的源代码. 解决方案 有模块可以查看系统配置 导入系 ..
发布时间:2022-01-13 16:48:12 Python

编译时如何通配符包含 JAR 文件?

我在 java 文件 (MyRtmpClient.java) 中有以下内容: import org.apache.mina.common.ByteBuffer; 和 ByteBuffer 位于 JAR 文件中(当然具有正确的目录结构).该 jar 文件和我需要的其他文件与 .java 文件位于同一目录中. 然后我用这一行编译: javac -cp ".;*.jar" MyRtmpCli ..
发布时间:2022-01-13 16:41:26 Java开发

如何使用 javac 编译 java 包结构

我正在尝试编译(从命令行)一个导入我自己的另一个包的 java 包.我正在关注 tutorial online 但似乎在我尝试编译最终的 java 文件(CallPackage.java). 这是文件结构: + test_directory (包含 CallPackage.java)->导入包->子包(包含 HelloWorld.java) 这里是 CallPackage.java: ..
发布时间:2022-01-13 16:39:21 Java开发

警告:API 'variant.getJavaCompile()' 已过时,已替换为 'variant.getJavaCompileProvider()'

同步 Gradle 时突然出现此错误: 警告:API 'variant.getJavaCompile()' 已过时且已被替换为“variant.getJavaCompileProvider()".它将在 2019 年底被删除.有关详细信息,请参阅 https://d.android.com/r/tools/任务配置避免受影响的模块:app 我有这个应用模块的 build.gradle: ..