2013-10-18 13 views
0

我有一台主机编译器(X86_64)GCC 4.6.3 &目标编译器(MIPS)GCC 4.5.3有什么办法可以在GCC中使用宿主编译器的前端和目标编译器的后端?

是否有使用主机编译器的前端与目标编译器的背沿方式结束

我的问题可能有点不可思议,但之所以问这个是同时编码嵌入式平台在目标编译器仍然滞后,支持这些功能使用最新C++ 11级的标准。

(我假设所有这些C++ 11的特征在编译器前端&没什么关系到CPU特定后端实施)

而且是有可能使用LLVM + GCC组合对于这种要求?

(任何建议/提示感谢!)

编辑:(!知道我添加的可能选项)

  1. 充分利用芯片vendtor最新的工具链(耗时)
  2. 从GCC源创建我自己的工具链(第三方库兼容性问题)
+0

获取GCC 4.6.3 for MIPS? –

+0

@ R.MartinhoFernandes,从芯片供应商处获得它有点困难和耗时。 –

+1

你假设错了,很多C++ 11特性都是标准库的一部分(在你的情况下,'libstdC++'4.5.3,你看到了这个问题......)。作为一个侧面说明,GCC 4.6.3远远不提供“最新的C++ 11标准”,GCC 4.8.1在核心语言方面功能完备,但在标准库方面还远未完成。 – syam

回答

3

编号有两个原因:

  • 该假设不成立。 C++ 11功能分布在前端,后端和标准C++库中。只有前端没有其他部分可能有一些功能,但其中大部分功能不可用。

  • GCC的政策是保持前端和后端链接在一起。它没有技术上的理由,纯粹是政治性的。但它阻止了交换前端。

+0

@“Jan Hudec”,你的意思是FE和BE在不同版本的GCC中不兼容? –

+1

他意味着有没有“前端”和“后端”GCC是一块单片,不是模块化的 –

+1

它可以令人印象深刻,你可以做什么我能够使用C++ 11 variadic模板(我编译运行了我的编译时图灵机模拟器)与我的GCC后端没有做任何特定的关于C++支持(我的目标是支持C,我成功了)所有我想到的东西,如decltype,variadic templates,auto,initializer lists don'看起来好像他们需要后端支持。 –

相关问题