草庐IT

Objective-c

全部标签

c++ - 在哪里可以找到高效的 R-Tree 实现?

我正在寻找一个R-Tree实现,在C、Objective-c甚至C++中,它可以有效地搜索点落在其中的2d矩形(内存效率也会很好,但我可以牺牲即使我在iPhone上,也能节省更多时间)。好的文档也将受到赞赏 最佳答案 查看thispage,它为多种变体(R*、R+等)提供了实现(C、C++、Java等)。 关于c++-在哪里可以找到高效的R-Tree实现?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

c++ - 使用 OpenAL 的硬件加速音频解码

在使用OpenAL库时是否可以使用iPhone对mp3s和AAC的硬件加速解码?如果可能的话,我想有两种可能的方法。iPhone特定的OpenAL扩展。将音频解码为原始字节的iPhoneAPI。我有两个具体的用例。完全解码一小段声音。分段解码较大的声音文件,以便将其流式传输到OpenAL,而不是一次全部加载。更新child!没有人对此有答案吗?Apple的NDA是否解决了这些问题?这是怎么回事?使用OpenAL的其他人肯定想要更好的音频性能。 最佳答案 所有iPhone设备型号中至少有一个硬件(或硬件辅助)解​​码器。可以访问它以使

c++ - Objective-C 稳定的 ABI

我主要是一个C++人。由于C++缺少官方ABI,我总是使用类似COM的方法来设计支持多个编译器的组件。最近我遇到了一个问题,即Objective-C是否会替代类COM方法。显然,要让Objective-C成为替代品,需要一个稳定的ABI,因此我想知道是否存在用于Objective-C的稳定ABI(在所有主要操作系统[OSX、GNU/Linux、Windows]上)以及它有多容易它将使用Objective-C(++)作为不同编译器创建的组件之间的“粘合剂”。编辑:正如NikolaiRuhe指出的那样,对COM的简短描述可能会有所帮助。COM本质上是一种“二进制标准”,允许混合不同编译器(

c++ - 通过快速用户切换检测 Mac OS X 中事件 session 的 API

在启用了快速用户切换的MacOSXSnowLeopard上,是否有API可以检测我的应用程序是否在事件用户session中运行?IE。当前附加到屏幕和键盘的session。Objective-C或C++都可以。 最佳答案 我避免使用用户切换通知,而是找到了另外两种可能性:使用来自CoreGraphics的CGMainDisplayID()。在您的应用程序首次启动时存储主显示ID,并不断轮询它。当切换到另一个用户时,它将更改为不同的显示ID。问题是它也可能由于其他原因而改变,例如在多屏设置中更改主显示器。同样从CoreGraphics

c++ - 我可以获得未处理(目标)C++ 异常的堆栈跟踪吗?

我正在开发一个iOS应用程序,该应用程序最近发展了一个大型C++基础。C++不是我的强项,我对异常感到沮丧。我正在寻找的是一种获取(未处理的)异常抛出站点的堆栈跟踪的方法。我会说“未处理”限定符是可选的;我会接受在任何异常抛出时中断作为最后的手段,尽管未处理的异常是理想的。我目前得到的是无用的。假设我在调用堆栈的上层没有任何合适的异常处理程序,我会做类似的事情std::vectormy_vector;my_vector.at(40)=2;//Throwsstd::out_of_range应用程序将在main()中中断,我将收到一条日志消息,内容为“终止调用引发异常”。没有帮助。将通用的

c++ - 在 iPhone/iPad 项目中 #import C++ 头文件时出现问题

我有一个我想在iPhone/iPad项目中使用的C++类。我以不同的方式创建了这个文件(比如使用“NewFile”=>C++),但错误总是一样的。当我在没有任何#import(.hC++类)的情况下编译项目时,没问题。但是一旦我在我的头文件objective-c文件中#import头文件,我就会收到如下错误:error:vector:Nosuchfileordirectory或error:expected'=',',',';','asm'or'attribute'before':'token"我尝试在文件信息中为文件类型(C++类)设置不同的值,在.mm中重命名我的objc类等,但它似

c++ - 在 Objective c++/c++ 中包装 Objective C

我有一个使用Boost/WXWidgets编写的C++应用程序,针对Windows和MacOSX。但是,我遇到了一个使用这些库无法解决的问题。我的解决方案要求我包装一个ObjectiveC类,以便我可以从我的一个c++模块中调用它。到目前为止,我的研究告诉我,我需要将ObjectiveC++写入带有.mm扩展名的源文件中,从而允许XCode将该文件视为ObjectiveC和C++的混合体。我发现很多文章详细介绍了如何包装C++,以便可以从ObjectiveC调用它,但没有任何文章提供任何相反的细节。任何指向文章的链接,或者更好的是,一个有效的例子,将不胜感激。

c++ - 从 Objective-C 移植到 C++ 的最佳方式是什么?

我没有任何Objective-C经验,但有很强的C++背景。是否有自动化工具/脚本,或者最坏的情况,是否有一些手动方法使用一些优秀的引用来将用Objective-C编写的代码移植到C++?有哪些困难?编辑:有人告诉我代码使用Objective-C相当简单。这是一个iPhone应用程序,可能不会在操作系统级UI方面使用太多。C++版本适用于GNUStep不是一个选项的非Apple平台,因此Objective-C++不是一个选项。 最佳答案 我处理过同样的问题。并有一些解决方案:Microsoft现在提供自己的ObjectiveC“桥”

iphone - 将 libmms 与 Objective-C 结合使用

这几天我一直在互联网上寻找有关如何使用libmms的教程或示例。似乎没有,这对于一个似乎被广泛使用的库来说很奇怪。LibMMS是一个用于解析mms://和mmsh://类型网络流的通用库。http://sourceforge.net/projects/libmms/files/libmms/0.6.2/libmms-0.6.2.tar.gz/download我找到的唯一代码示例来自stackoverflow上的另一篇文章。下面会显示哪个是mms_connect(NULL,NULL,g_tcUrl.av_val,g_hostname.av_val,g_playpath.av_val,""

c++ - Objective-C 枚举错误?

我在类头的顶部定义了一个枚举:enumPresetSeq{kSeqClear=0,kSeqAllBeats,kSeqAllTicks};但是当我尝试使用枚举为该类声明一个方法时。-(void)quickSetSeq:(PresetSeq)patternforChannel:(long)ch;我收到错误:在“PresetSeq”之前应有“)”如果我改用typedef枚举:typedefenum{kSeqClear=0,kSeqAllBeats,kSeqAllTicks}PresetSeq;然后编译器很高兴,但我不记得在C/C++中必须这样做。在Obj-C中枚举必须是typedef吗?谢谢