Variable length of non-POD element type 'b2Vec2'!!怎么会报出这个错误呢?
真有点儿搞不懂了,刚进入ios开发的时候用的是一个朋友的mac笔记本
他的系统是雪豹的,在雪豹的XCode下面我记得是一点儿问题都没有的,警告也就是某某变量声明过后未被使用
蛋疼了,再看代码,操了,标准的c、c++写法啊...
在栈上定义一个b2Vec2数组也不行,不兴这样的吧?!如下图所示:
自打用上狮子以来,这个问题烦扰我好几次了,虽然项目能够正常编译通过并执行
但我就是觉得不爽,明明没错的东西还给报错,这不等于混淆视听么!!
前几天观摩别人的项目的时候不能正常运行,我在项目文件中重新设置了一下项目的编译器,竟然达到了我的目的~
想到这儿反正我也没有别的办法了,不如死马当做活马医,于是也改了一下编译器,
将编译器由"LLVM GCC 4.2" 改成了 "GCC 4.2",没想到竟然也奏效了
下面是更改过之后重新运行时的IDE 界面
混淆试听的鸡肋错误提示被赶走了,仿佛大热天里啃上一根老冰棒,爽!
当然,这只是表面现象,其实还是有必要探讨一下为什么会出现这样的错误的:
如第二张图中所示,其实xcode的编译器总共有3种:
1.Apple LLVM compiler 2.1
2.GCC 4.2
3.LLVM GCC 4.2
贴上一些在百度百科上面找到的关于LLVM的资料:
概述
LLVM 是 Low Level Virtual Machine (低级虚拟机)的简称,这个库提供了与编译器相关的支持,
可以作为多种语言编译器的后台来使用。能够进行程序语言的编译期优化、链接优化、在线编译优化、代码生成。
发展历程
2000年LLVM开始开发,
2005年Apple雇了Chris Lattner,LLVM也相当于成了Apple的官方支持的编译器。
Apple已经将它用在OpenCL的流水线优化,Xcode已经能使用llvm-gcc编译代码。
优点
对关注编译技术的开发人员,LLVM提供了很多优点:
1。现代化的设计
LLVM的设计是高度模块化的,使得其代码更为清晰和便于排查问题所在。
2。语言无关的中间代码
一方面,这使得透过LLVM能够将不同的语言相互连结起来;也使得LLVM能够紧密地与IDE交互和集成。
另一方面,发布中间代码而非目标代码能够在目标系统上更好地发挥其潜能而又不伤害可调试性
(i.e. 在目标系统上针对本机的硬件环境产生目标代码,但又能够直接通过中间代码来进行行级调试)
3。作为工具和函数库
使用LLVM提供的工具可以比较容易地实现新的编程语言的优化编译器或VM,或为现有的编程语言引入一些更好的优化/调试特性。
@#¥@#()@#&)¥@#()¥@*#(@Y*#@#*)@(*%R)
gcc还是比较出名的!传闻聪明的程序元用delphi,偷懒的程序员用VB,真正的程序员用C++
真正意义上的程序员其实应该是能够通吃各种编程语言的,据高手说程序员牛逼不在于会多少门语言
而在于他的思想,只要能将一门语言钻研到通透,学习起其它语言来是非常快的!!
gcc编译套件就是为了满足这么个需求的!!!
几个月前有幸下载过这套编译器工具集,号称能够编译各种程序语言的源文件!!
而且历史久远,是由20世纪非常厉害的一位黑客带头创建,维护的,经过了这么久的时间
一直受到大量计算机界的能人们吹捧,用形象的话来说,是大牛们无私、无偿贡献出来的一套非常牛逼的工具集
这么多年来一直受到不停的完善!!为很多个人,公司所使用,貌似微软,apple就在其内。。
以下是我的个人看法:
1。显而易见,gcc 和 llvm 是两个不同体系的编译器
2。苹果以前用的是 gcc,但是苹果现在有钱了,非常有钱!有钱了之后可能就砸钱自己研究开发新一代的编译器,如LLVM
3。由于苹果的老底子是由gcc打起来的,但是苹果现在又想摆脱gcc的掌控,而现在正是非常时期,所以就出现了一个过渡性的编译器,如 LLVM GCC 4.2,当然这只是我的猜测。。
4。因为gcc的广泛流传,所以不少项目都是在gcc的环境下完成的,现在狮子里面的xcode突然间要用LLVM GCC 4.2这个过渡性的编译器了,自然会暴露出一些问题,如上面所报出来的错误!!也正因为不是纯粹意义上的LLVM编译器,所以错误虽然报出来了,但还是不影响项目的成功编译执行!!但如果你将编译器修改为 Apple LLVM compiler 2.1的话,你会发现,这次真的是大条了,同样是报出了错误,但是此时已经不能够成功编译执行了!!
5。也许某一天xcode的编译器标准配置会过渡为 Apple LLVM compiler x.x,那时候,哈哈,满地的错误了~
以上仅为本人根据浅薄闻道胡乱猜测,诚恳希望有真正了解此种缘由的人来指教,欢迎各种拍砖,拍各种砖!!^_^
分享到:
相关推荐
OSCHINA 的 iPhone 客户端源码,可直接在 App Store上搜索“开源中国”来安装此app
The Inner Workings - of - word2vec, 国内唯一版本,重金购买于国外,谢绝转载。给喜欢研读word2vec原理的人。目前为止最清晰易懂版本。
facebook的预训练 fastText 模型wiki-news-300d-1M.vec下载
word2vec的实现源码,并加上中文注解!
Word2Vec 模型word2vec-google-news-300。在 Google News 数据集上训练完成的 Word2Vec 模型,覆盖了大约 300 万的词汇和短语。该模型是利用了整个 Google News 大约 1000 亿个词的语料训练而成!由于文件太大,将...
NLP - python实现word2vec
Word2Vec 模型word2vec-google-news-300。在 Google News 数据集上训练完成的 Word2Vec 模型,覆盖了大约 300 万的词汇和短语。该模型是利用了整个 Google News 大约 1000 亿个词的语料训练而成!由于文件太大,将...
Word2Vec 模型word2vec-google-news-300。在 Google News 数据集上训练完成的 Word2Vec 模型,覆盖了大约 300 万的词汇和短语。该模型是利用了整个 Google News 大约 1000 亿个词的语料训练而成!由于文件太大,将...
Word2Vec 模型word2vec-google-news-300。在 Google News 数据集上训练完成的 Word2Vec 模型,覆盖了大约 300 万的词汇和短语。该模型是利用了整个 Google News 大约 1000 亿个词的语料训练而成!由于文件太大,将...
awesome-2vec, 2vec 种类型嵌入模型的精选列表 awesome-2vec2型embedding型嵌入模型的组织这是一个正在进行的工作,所以如果你知道 2个未提到的错误模型,请执行关联。列表word2vec论文:...
用twitter训练的word2vec的词嵌入表示 word2vec_twitter_model 自然语言处理可以用于文本分类 有word2vec_teitter_model.bin 基于https:www.fredericgodin 因word2vec_twitter_model.bin 4G大小,使用百度网盘传输
game2vec - word2vec的TensorFlow实现
dna2vec Dna2vec是一个开放源代码库,用于训练可变长度k-mers的分布式表示形式。 有关更多信息,请参阅以下文章:安装请注意,此实现仅在Python 3.5.3上进行了测试,但是我们欢迎您提供任何贡献或错误报告以使其更...
1. 用text2vec向量存储和查询,可以实现文档问答,可以添加和删除对话bot 2. 对话没有存储功能,停止运行释放历史记录。需要保存,在chat_doc_more.py的addHistory函数中保存,有标记TODO 3. 向量存储库可以设置存储...
node2vec-master-python3_node2vec_blanketk2r_源码.rar
自然语言处理课设:基于TF-IDF ,Word2vec和BERT 的SQuAD问答模型
最近在做与词向量有关的工作,使用word2vec对中文维基百科数据进行处理。本人学习的一点经验,如果有什么不足之处,希望可以在下方指出。感谢!
威慑无监督的top2vec 该存储库包含在ProQuest Deterrence数据集上训练的top2vec模型,该数据集包含26,525个非空文档。 用法 要使用该存储库或对此存储库做出贡献,请首先签出代码。 然后创建一个新的虚拟环境: $ ...