问题标签 [llvm-gcc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1921 浏览

gcc - 编译器-RT CLANG LLVM

我有 GCC 4.1.2 并且喜欢使用这个 GCC 编译器版本来构建 CLANG / LLVM。我需要源到源翻译库,以便我可以根据某些要求修改现有的源代码。

最初我遇到了有关 usr/lib64/libstdc++.so.6 的问题:在 LLVM / CLANG 制作期间找不到版本“GLIBCXX_3.4.9”。所以在下载并构建 GCC 4.5.0 并安装在本地路径中。我发现 GCC 4.5.0 的 libstdc++.so.6 有 GLIBCXX_3.4.9 版本。由于我想使用 GCC 4.1.2 进行编译,因此我将动态库路径设置为:

并在“make clean”之后再次说明make。现在该错误没有发生。

但是,我在编译“Compiler-RT”模块时遇到了问题。我不确定需要 Compiler-RT 模块的目的是什么,但 LLVM 和 CLANG 似乎编译得很好。

我是否可以从下载、构建和安装中排除 Compiler-RT:

仅构建 LLVM 和 Clang

将我的共享库路径设置为使用 GCC 4.5.0 的 libstdc++.so.6 是否正确,并且 Compiler-RT 是使用 CLANG / LLVM 下载和构建它的强制步骤

我在这里找到了这个示例代码 - 我需要 Compiler-RT - 我没有看到相同的引用,但只是想确认一下?

0 投票
2 回答
1411 浏览

gcc - 使用 Clang 进行基本的源到源转换

我已成功构建示例代码

现在我有一个要求,如果我有如下示例代码:

代码应转换为

我尝试了以下代码更改:

但输出如下:

请让我知道如何实现目标?

我也得到如下输出:

如何停止代码呈现相同的内容?只是复合块中的语句应该添加额外的语句。

0 投票
1 回答
3297 浏览

objective-c - Xcode LLVM+GCC 4.2 - 生成调试符号

我有一个库项目,我一直Strip Debug Symbols为发布版本打开“”

我最近注意到了“ Generate Debug Symbols”标志。当我将“ Generate Debug Symbols”标志设置为 NO 时,我的库大小会缩小 30%

这是为发布版本进行的合理优化吗?

“剥离调试符号”和“生成调试符号”选项有什么区别,理想情况下,如果我剥离调试符号,所有生成的调试符号不会消失?为什么我会看到这种差异?

除了 -Os (Fastest, Smallest) 我还能做哪些其他优化来减少二进制大小?

“”是如何Strip Linked Product工作的?

0 投票
1 回答
6617 浏览

parsing - 基于 LLVM 的编译器的前端

我正在尝试开发基于 LLVM 基础架构的编译器。我的语言具有类似 C 的语法,因此我想利用现有的 C 编译器。现在我专注于前端(词法分析,解析),但我对哪个前端是最好的方法感到困惑。Clang、llvm-gcc 还是传统的 flex/bison 工具?

我对最简单的解决方案特别感兴趣,它允许我为编译器的后期阶段生成 LLVM IR 代码。

0 投票
2 回答
3494 浏览

objective-c - __block 属性声明

我必须修复一些使用 LLVM(在 iOS 上)构建得很好的现有代码,以便它也可以使用 llvm-gcc-4.2 构建。我已经完成了几乎所有的事情,除了在几个地方发现的这种模式:

我怀疑这里的意图是允许从块内部访问该属性而不保留self. 如何删除__blockgcc 此处不支持的属性,但仍能达到相同的效果?

0 投票
2 回答
7482 浏览

ios - LLVM、GCC 4.2 和 Apple LLVM 编译器 3.1 之间的区别

LLVM GCC 4.2 和 Apple LLVM 编译器 3.1 之间的主要区别是什么?

我对编译器相当陌生,因此感谢您提供任何帮助。此外,我对这两个编译器如何影响游戏性能特别感兴趣。

0 投票
1 回答
504 浏览

cordova - Xcode 4.1.1 使用 Phonegap 2.0.0 和 BarcodeScanner 插件崩溃

在 Xcode 中“将文件添加到项目 ...”时,无论是 .mm 还是 .cpp,Xcode 都会暂停然后崩溃。

我安装了 Xcode 4.4.1 并正确设置了 Phonegap 2.0.0。我正在使用此主存储库中的 Phonegap BarcodeScanner 插件:

https://github.com/phonegap/phonegap-plugins/tree/master/iOS/BarcodeScanner

我通过 Xcode -> (Target Build) -> Build Settings -> Build Options -> Compiler for C/C++/Objective-C将编译器从 Apple LLVM 4.0 更改为LLVM GCC 4.2 。

还正确添加了以下框架:

  • AVFoundation.framework
  • AssetsLibrary.framework
  • CoreVideo.framework
  • libiconv.dylib

BarcodeScanner 需要 4 个文件才能正常工作:

  • 条码扫描器.js
  • CDVBarcodeScanner.mm
  • zxing-all-in-one.cpp
  • zxing-all-in-one.h

将“zxing-all-in-one.h”文件添加到我的插件文件夹并将“barcodescanner.js”添加到 www/ 目录后,一切都很好。只有在添加 .mm 或 .cpp 文件时 Xcode 才会崩溃。

我有另一台运行 Phonegap 1.7.0 和 Xcode 4.4 的 MacBook Pro,条形码扫描仪工作正常。Phonegap 2.0.0 发生了什么崩溃?我查看了常见问题解答和 README 文档,但找不到任何有用的东西。谢谢您的帮助!

0 投票
0 回答
307 浏览

macos - Apple gcc:/usr/bin/gcc-4.2 和 /usr/bin/i686-apple-darwin11-llvm-gcc-4.2 有什么区别?

我正在运行狮子。我有这两个版本gcc都声称是同一件事,但diff声称二进制文件不同。我试图了解gccOS X 上的情况。它们之间有什么区别?

0 投票
1 回答
1490 浏览

c - 如何让 GCC 在没有“文件是为不受支持的文件格式构建的”的情况下正确编译目标文件?

编译时出现此错误:

并且对于使用以下命令编译目标文件时的所有其他目标文件:

我尝试使用以下方法链接文件:

那么是什么导致了这个问题呢?

gcc 版本为:i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1(基于 Apple Inc. build 5658)(LLVM build 2336.11.00)

谢谢你。

0 投票
2 回答
3005 浏览

java - Java 1.6 分段错误 11 (OSX 10.7.4)

我有 .jar 文件,它在运行时读取我在 OSX 中使用 GCC 编译器编译的一个 .dylib 库。

应用程序在 OSX 10.6.8 上运行没有任何问题。

爪哇版:

java 版本“1.6.0_33”Java(TM) SE 运行时环境(内部版本 1.6.0_33-b10-424-10M3720)Java HotSpot(TM) 64 位服务器 VM(内部版本 20.8-b01-424,混合模式)

海合会版本:

i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1(基于 Apple Inc. build 5658)(LLVM build 2336.1.00)

我使用 64 位 Java 和 .jar 需要的库,这些库是为 x86_64 编译的。因此,在 Snow Leopard 上,一切运行良好。

我现在将我的应用程序切换到 OSX 10.7.4。在那里我尝试了 2 个不同的 Java 版本:

第一个 Java 版本(与 Snow Leopard 相同):

java 版本“1.6.0_33”Java(TM) SE 运行时环境(内部版本 1.6.0_33-b10-424-10M3720)Java HotSpot(TM) 64 位服务器 VM(内部版本 20.8-b01-424,混合模式)

第二个 Java 版本(今天更新):

java 版本“1.6.0_35”Java(TM) SE 运行时环境(构建 1.6.0_35-b10-428-11M3811)Java HotSpot(TM) 64 位服务器 VM(构建 20.10-b01-428,混合模式)

海合会版本:

i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1(基于 Apple Inc. build 5658)(LLVM build 2336.9.00)

我首先尝试使用在 Snow Leopard 上编译的 .dylib 运行应用程序,但出现此错误:

位置 0x0 的无效内存访问 rip=0x7fff894aa697 分段错误:11

还有没有导致应用程序崩溃的新行,但它们没有显示在 Snow Leopard 上:

在这次崩溃之后,我尝试在 Lion 上使用 GCC 重新编译依赖项 .dylib,但这并没有改变。我仍然收到分段错误:11 错误。

我在网上读到过这个错误,据我所知,它经常出现在 Lion 上,因为 Java 更新可能搞砸了一些东西,但由于我对 Java 不太熟悉 - 有没有人遇到过这些问题,如果是,有没有办法解决这个问题?

非常感谢。


[编辑 #1:在 OSX 10.7.4 上尝试使用 Java 7]

使用 Java 7 运行 .jar 时,再次发生崩溃,这是错误报告: