问题标签 [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.
assembly - 如何使用 llvm-gcc 内联汇编指定双字操作数的高/低部分?
在 GCC4.2(Xcode3) 中,我使用 %R0/%Q0 来指定内联汇编中双字操作数的高/低部分。但以下代码在 llvm-gcc (Xcode4) 中产生错误:错误:inline asm 中的操作数无效:'mov ${0:D}, $1
有人可以指出我的解决方案吗?
compiler-construction - iPod Touch 2nd 没有响应在 xcode4.2 中运行
谷歌搜索了几个小时,我没有得到任何答案。
有我的步骤:
1 在 xcode4.2 中创建一个没有 ARC 的新项目 2 将 armv6 添加到架构中。它显示: armv6 $(ARCHS_STANDARD_32_BIT) 3 将 iOS 部署目标更改为 iOS4.1 4 检查我的代码签名是团队配置
单击运行,它显示构建成功,但我的 iPod Touch 2nd (iOS4.2.1) 没有响应,没有错误,没有警告,调试输出窗口中没有任何内容,没有问题...
我认为是 Apple LLVM 编译器 3.0 的问题,所以我将其更改为 LLVM GCC 4.2,然后弹出一些错误,我将 main.m 文件更改为:
我从这里修复了 AppDelegate.h:
至
好的,没有警告,没有错误,没有问题,没有响应...... xcode 根本不会将文件复制到我的 Touch 2nd!
我以前用xcode4.1和3.2.5创建的项目用Touch 2nd没问题,我只需要添加一个armv6支持,但是xcode 4.2真的是4ss的一个痛点!我认为因为它的默认编译器不是 LVMM GCC 4.2 ,所以我在想:
- 如何将我的 xcode4.2 的默认编译器更改为 LLVM GCC 4.2?
- 如果我无法更改默认编译器,我应该怎么做才能在我的 Touch 2nd 上运行它?
任何帮助都可以,谢谢!
xcode - 使用 XCode 4 生成代码覆盖率数据需要什么
我显然遗漏了一些东西,因为我的目标文件旁边没有生成 .gcno 或 .gcda 文件。我尝试将设置添加到我的测试目标和应用程序目标,但无济于事。我已经有第二双眼睛检查了事情,一切似乎都井井有条。关于缺少什么的任何想法。提前致谢。
ios-4.2 - 使用 LLVM-GCC 解决运行 iOS 4.2.1 的第二代设备上的问题的影响
我有一个使用触摸事件在屏幕上绘图的应用程序。我用UITouch locationInView
返回CGPoint
的触摸。问题是 x 和 y 坐标总是相同的——但仅在运行 iOS 4.2.1 的第二代设备上并且仅当我的应用程序以发布模式构建时。这似乎也只是直接从一个touchesMoved
或touchesEnded
事件对象进行触摸时出现的问题,因为我的按钮正确地响应了触摸。
感谢http://getmoai.com/forums/new-users/ios-touch-sensor-y-co-ordinate-always-the-same-as-x/上的帖子,我能够通过使用解决问题LLVM-GCC 编译器而不是更新的 LLVM 3.0 编译器并使用优化级别 0。
有趣的是,使用 GCC 编译器更正了我收到的触摸位置,touchesEnded
同时更改了优化级别以-O0
更正我收到的触摸位置touchesMoved
。我无法解释为什么会这样,但现在我很高兴我的应用程序正在这些设备上运行。
那么我的问题是——使用旧编译器将我的应用程序交付到商店有什么缺点?(我了解优化级别的影响。)有没有办法配置项目,以便我只为 iOS 4.2.1 和/或第二代设备使用较旧的编译器和较低的优化级别?
iphone - 架构 i386 的格式错误的元数据 - LLVM 错误
在我的一个项目中,我从编译器收到了一个非常令人沮丧的错误。在更改了一些编译器设置以进行优化之后,一切都很顺利,直到我尝试在模拟器上进行测试。我收到此错误:
我尽可能地重置了编译器设置,但错误仍然存在。我尝试了架构 i386 格式错误的元数据记录中的建议,但仍然没有。还有什么我可以做的吗?就像将 Xcode/LLVM-GCC 重置为默认值一样?
macos - Mac OS X Lion 和 XCode 4 / llvm-g++-4.2 没有代码覆盖
其他人报告说无法使用 XCode 4 生成代码覆盖率,但我发现我不仅不能在 XCode 4 中执行此操作,甚至使用命令行中的简单玩具程序也无法执行此操作。我按照此处和此处给出的示例进行操作,这导致我创建了这个 cov.c 文件:
然后我使用以下命令来尝试生成代码覆盖率:
唉,在 obj 目录中不存在 cov.gcno 文件。事实上,我在这之后唯一的文件是:cov.c obj/cov.o bin/cov
此外,如果我输入nm bin/cov
,我会得到以下信息:
这表明从未链接过 libgcov.a。如果我替换
和:
我得到完全相同的结果。
更多信息:
g++ --version
产生:“i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1(基于 Apple Inc. build 5658)(LLVM build 2336.1.00)”- 我也尝试过使用 gcc(即 llvm-gcc)。
c++ - llvm-g++-4.2 和 C++ 新式类型转换
我面临一个奇怪的问题。我环顾了整个 stackoverflow.com 和其他地方,但没有找到答案。
这是一些背景:我正在编写一个简单的库;主要用于教育目的和更好地理解 C++。我正在使用带有 Snow Leopard 的 MacBook Pro。我也安装了 Xcode 4.2,但是我只使用 VIM 来编辑我的代码。我最近完成了迄今为止我所拥有的任何东西的 GNU 构建系统,这样我就不必再依赖 Xcode,同时也不必编写和维护自定义 Makefile。我正在使用最高级别的警告。这是我到目前为止得到的标志(但我不断地添加它们,了解每个标志的原因)-Wall -Wmissing-field-initializers -Wno-trigraphs -Wreturn-type -Wnon-virtual-dtor -Woverloaded-virtual -Wmissing-braces -Wparentheses -Wswitch -Wunused-value -Wsign-compare -Waddress -Wsequence-point -Wshorten-64-to-32 -Wwrite-strings -Wold-style-cast
:,最后,-Werror
.
现在,我有一个非常简单地返回值的函数:
但是,当我编译此代码时,我收到警告“使用旧式强制转换”。我不明白怎么static_cast<>
可能是“旧式”。有人可以向我解释为什么会这样吗?我以为我可以通过查看 的定义找到答案WEOF
,但在 Mac 上它被定义为__DARWIN_WEOF
,我似乎无法找到它的定义。
谢谢!
c++ - Mac OS X Lion 上的 LLVM
我正在尝试让 LLVM 在我的 Mac 上工作。我想编写 cpp 代码并生成 LLVM IR。我已经使用 MacPorts 安装了 llvm-gcc42 和所有依赖项:
当我尝试编译一个包含一个 llvm 标头的简单 cpp 文件时,它说找不到标头:
这是源文件:
我想知道是否有人可以帮助我。谢谢
python - 为什么 pip 安装程序期望 gcc-4.2 是 OS X Lion 中 gcc 编译器的名称?
在使用 pip 在 Python 中安装软件包时,我遇到了以下错误:
显然,pip 正在尝试使用不在任何二进制目录(即 /usr/bin)中的 gcc-4.2。在浏览了这个站点和其他站点之后,我发现许多其他站点都遇到了同样的问题。但是,gcc 在 OS X Lion 中更新到 4.2 版,这不是版本问题,相反,gcc 在 /usr/bin 下只是称为 gcc,而不是 gcc-4.2,并且符号链接到 llvm-gcc。在 /usr/bin 中添加 gcc-4.2 作为 gcc 的符号链接后,pip 能够成功安装所有内容。那么为什么 pip 正在寻找 gcc-4.2 而不是 gcc?这是 pip、OS X Lion 或 pip 中试图用 gcc-4.2 安装自己的包的错吗?
最后,在这种情况下,我的符号链接黑客是正确的做法,还是我应该以其他方式解决这个问题?
assembly - LLVM GCC 4.2 中内联汇编的奇怪编译
我正在尝试优化以下 C 宏:
对于 Cortex-A8 处理器,所有变量都是双精度数。
内联汇编如下所示:
生成的程序集如下所示:
如您所见,编译器仅使用 4 个寄存器,而不是获得正确结果所必需的 6 个。
我如何对编译器说我需要 6 个寄存器?