草庐IT

java - 将带有通配符的 Java 泛型编译为 C++ 模板

我正在尝试构建一个Java到C++的反式编译器(即Java代码进入,语义上“等效”(或多或少)的C++代码出来)。不考虑垃圾收集,语言很熟悉,所以整个过程已经很好了。然而,一个问题是C++中不存在的泛型。当然,最简单的方法是像java编译器那样执行删除。但是,生成的C++代码应该很容易处理,所以如果我不会丢失泛型类型信息就好了,也就是说,如果C++代码仍然可以与List一起工作,那就太好了。而不是List.否则,C++代码将需要在使用此类泛型的任何地方进行显式转换。这很容易出错且不方便。所以,我正在尝试找到一种方法来以某种方式更好地表示泛型。当然,模板似乎是一个不错的选择。尽管它们完全

c++ - 什么 C++ 代码编译成 x86 REP 指令?

我正在用C++将元素从一个数组复制到另一个数组。我在x86中发现了repmovs指令,它似乎将ESI中的数组复制到EDI中大小为ECX的数组。但是,无论是for还是while循环,我都尝试编译为VS2008中的repmovs指令(在IntelXeonx64处理器上)。我如何编写将编译为该指令的代码? 最佳答案 老实说,你不应该。REP是指令集中的一种过时保留,实际上非常慢,因为它必须调用CPU内部的微编码子程序,该子程序具有ROM查找延迟并且也是非流水线的。几乎在每个实现中,您都会发现memcpy()编译器内在的功能更易于使用且运行

c++ - 编译为多个指令集时避免重复符号

我正在使用基于处理器特性的CPU调度来切换复杂数值算法的实现。我想包括两个版本(为了参数的缘故,sse2和sse3版本)我在同一个动态库中编译。目前采用的方法是将所有特定于体系结构的代码包装到一个命名空间中,例如namespacesse2和namespacesse3从而在链接到最终动态库时避免重复的符号名称。但是,如果我在sse2和ss3版本中都使用了一些我无法控制的代码(例如std::vector),会发生什么情况。据我所知,std::vector实现将出现在sse2和sse3目标文件中,但理论上可以包含不同的指令,具体取决于编译器执行的优化。当我将这些目标文件链接到动态库时,将使用

c++ - 将 C++11 代码编译为 MATLAB mex 文件的一部分

我有一段用C++11编写的代码,我想将其编译为GNU/Linux的MATLABMEX文件的一部分。问题是Linux上的MATLAB仅支持GCC4.3(及更早版本),不支持编译我的C++11代码所需的GCC4.7。是否可以解决该问题?是否可以通过使用GCC4.7编译一些目标文件并使用GCC4.3将它们链接到MEX文件来解决这个问题?提前致谢! 最佳答案 如果您可以在4.3扩展中编写任何代码并编译它,那么只需编写代码来dlopen一个您在4.7中编写和编译的共享对象。使用4.7.so完成所有c++11工作,并通过C接口(interfac

c++ - 默认情况下在 Sublime Text 3 中将程序编译为 c++ 14

我知道我们可以使用g++编译器将程序编译为C++。但是g++编译器默认是98版本。要将其作为C++14运行,我们需要在终端中添加-std=c++14。SublimeText由于其轻量级和功能而被认为是竞争性编程的有值(value)的编辑器。在这些比赛中,时间很重要,因此时间被浪费在复制文本文件然后从终端运行。与98相比,C++14具有丰富的库和其他重要功能。因此,人们希望能够在sublimetext和C++14上编译代码。但是我如何确保在SublimeText3中编译代码时,它默认编译为C++14?经过一番摆弄后,我想出了以下解决方案-转到包并提取C++.sublime-package

iphone - 如何在我的项目中使用几个 C++ 文件而不将每个文件都编译为 C++?

我有一个带有基础ViewController类的项目,它被大约25个其他ViewController继承。现在我需要在该基类中使用一些核心音频,因此我正在集成一个使用C++的音频类(改编自Apple的aurioTouch示例项目)。基类导入Audio类的header,然后初始化一个Audio对象,以便我可以调用Audio类中的方法。当我编译时,我在Audio类中收到诸如“expected'=',',',';','asm'or'attribute'before'!='token”之类的错误及其辅助类,因为编译器被C++语法绊倒了。如果我将基类的扩展名更改为.mm,我会得到同样的错误;我想

iphone - xCode 4.2.3 无法编译为 iOS 5.1.1 (9B208) 或 iOS 5.1.1 (9B206)

昨天经过整整一夜的修修补补,我设法为5.1.1编译那是在我从iOS5.1.1(9B208)降级到iOS5.1.1(9B206)作为最后的绝望尝试之后。但今天在重新启动后我又回到了原点。当我转到管理器并从顶部菜单中选择设备时,我会像以前一样得到以下文本:TheversionofiOSon“xsiPhone”doesnotmatchanyoftheversionsofiOSsupportedfordevelopmentwiththisinstallationoftheiOSSDK.PleaserestorethedevicetoaversionoftheOSlistedbelow,orup

android - 基于 OpenLaszlo 的 AIR 应用程序在 Android 和 iOS 上的性能

是否有人尝试使用最新版本的Adob​​eAIRSDK将OpenLaszlo应用程序编译为适用于Android或iOS的移动应用程序?对于不需要大量计算能力的应用程序,性能是否足够? 最佳答案 我使用夜间构建(尚未发布)的最新OpenLaszlo5.0将我的OpenLaszlo应用程序编译为HTML5/DHTML。我不使用Adob​​eAir,所以很抱歉我无法回答这个问题,但根据我的经验,性能下降与应用程序生成的DIV数量成正比。您需要重用您创建的View/组件,是的,加载时间很重要,因为OL应用程序非常大。如果它是一个现有的应用程序

ios - 为 Xamarin.iOS 将 .mlmodel 编译为 .mlmodelc?

我想为我的Xamarin.iOS应用程序使用CoreML,但如何使用模型?developer.xamarin中的所有示例都使用.mlmodelc,但我下载了.mlmodel。如何转换为.mlmodelc? 最佳答案 您可以使用Xcode来编译您的模型:xcruncoremlcompilercompileMyModel.mlmodelMyModel.mlmodelc这会输出一个.mlmodelc,您可以将其添加到您的项目中。或者您可以使用MLModel.compileModel(at:)在您的应用程序中动态执行此操作。

ios - 如何将 xcode 4.5 代码编译为 xcode 4.3?

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭10年前。我正在制作一个基于xcode4.5的项目,但我遇到了一个问题,即该项目现在必须支持iOS4.0。于是找了个mac安装在Xcode4.3上。但是问题开始了。我的代码在xcode4.3上不起作用,因为我的代码有iOS6代码,例如-(NSInteger)supportedInterfaceOrientations我不想使用respondsToSelector,