问题标签 [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.
gcc - 在 Fedora 上使用 gold 代替 ld 作为系统链接器
我想使用 gold 作为我的系统链接器而不是 ld,因为 ld 不支持 -fPIC 和 -shared。我按照这个特定的 url 这样做, gold-plugin 根据文档,我运行gcc -v filename.c以找出 gcc 将运行的链接命令。 然后它告诉我检查运行 collect2 的行并将其替换为 -plugin /path/to/LLVMgold.so。 但是 gcc 和 collect2 是二进制文件。我研究了一下..并了解 gcc 调用 collect2 ,然后 collect2 通过搜索 ld-linux.so.2 调用系统链接器 ld。我在我的 Fedora 上安装了 gcc4.4.4 的 rpm 包...如何更改我的配置。
如何让 gcc 调用 ld-new/gold 而不是 collect2?
python-2.7 - 当我在我的 Mac 上安装 lxml 时,安装过程中显示“未找到 gcc-4.2,使用 clang”
当我在我的 mac 上安装 lxml 时,安装过程中显示“未找到 gcc-4.2,使用 clang”。
我只需输入以下命令,然后得到上面的答案,我怎样才能用 llvm-gcc-4.2 指定 gcc-4.2?
macos - 通过 pip 成功安装 lxml 后,在 python 命令行中执行“from lxml import etree”时出现错误
对于旧版本 lxml2.3.4 再次出现相同的错误
objective-c - 为什么这段代码在使用 Apple LLVM 编译时会崩溃,而不是在 LLVM/GCC 中?
我正在尝试获取此代码:http ://code.google.com/p/switchcontrol/source/browse/trunk/code/AFSwitchControl.m在 Xcode 4.5.2 中的 Apple LLVM 下编译。它在使用 LLVM/GCC 编译时可以工作,但在第 198 行切换到 Apple LLVM 时会在 mouseDown 方法中崩溃:
因为 _offset 没有设置。假设在 bind 方法中设置了这一行:
但由于某种原因,似乎没有在 LLVM 下设置任何内容。我的绑定调用如下所示:
任何想法为什么控件的状态在 LLVM 下没有返回任何内容?谢谢!
python - 安装 scikit:找不到 gcc-4.2,改用 Clang
尝试在我的 Mac (OS X Lion) 上安装 scikit 时,我偶然发现了这个错误:
未找到 gcc-4.2,改用 clang。
我搜索了如何解决这个问题,似乎环境变量 CC 设置不正确。我现在的问题是,我怎样才能改变这个,我必须改变什么?我/usr/lib/
确实看到了 g++、gcc、llvm-g++-4.2 和 llvm-gcc-4.2 可执行文件。此外,当我检查时,env
我没有看到 CC 变量。即使我尝试导出 CC=gcc 我也看不到它的env
命令。
llvm - 如何使用 dbg 元数据获取变量定义行号等?
据我所知,当我需要获取局部变量的行号时,我必须寻找llvm.dbg.declare
内在函数的调用并获取 dbg 元数据(因为AllocaInst
它本身不包含任何 dbg 信息)。但是似乎不能保证这CallInst
是 的下一条指令AllocaInst
,我必须在指定的函数中遍历指令,这是低效的。所以我想知道是否有一种方法可以直接AllocaInst
获取llvm.dbg.declare
指令。
例如,在一个名为 src 中foo.c
:
和相应的 llvm ir:
如果我需要知道中int a;
定义的行号,foo.c
我必须遍历 ir 并!dbg !9
从call void @llvm.dbg.declare(metadata !{i32* %a}, metadata !7), !dbg !9
.
顺便说一句,处理全局变量时似乎没有困难,因为llvm.dbg.gv
它包含非常信息。
objective-c - GCC / LLVM编译优化转换?
我正在为一个 Objective-C 项目编写一系列匿名函数(即这些函数不是特定于类/实现是隐藏的),我遇到了一个有趣的问题......
我有一个宏函数: div(c)((CGFloat)c/255.0f) 这种用法几乎总是类似于 div(0.0f),但其他人可能不知道它需要一个浮点数,所以 div(0) 是可能的
我的问题是:当变量被显式转换并且变量与转换的类型相同时,转换是否会损失任何性能?
build - gcc g++中间汇编错误
有时,我尝试编译一些代码,但 g++ 似乎会创建错误的临时程序集,如下所示:
如何调试这个?
gcc 配置 =
其他观察:我正在使用-m32
开关构建 32 位(上面的示例已更新)。如果我编译-O1
或者-O4
我没有这个问题。
c++ - 在 .mm 文件中但不在 .h 中找到 C++ 标准库(Xcode 4.5 LLVM GCC 4.2)
我正在尝试在使用 LLVM GCC 4.2 编译的 Xcode 4.5 中开发的 iOS6.0 应用程序中使用 std::vector 并使用 .mm 扩展名重命名我正在使用 C++ 的文件。但由于某种原因,相关的标头那些 .mm 不要编译我有以下错误:
矢量:没有这样的文件或目录
我试过导入,包括。如果我只将它包含在 .mm 中,它就可以工作。
知道我做错了什么吗?
谢谢
韦巴巴
已解决:仔细检查可能包含此标头的其他 .m 文件。(不仅是实施课程的人)我错过了一个。
gcc - 将参数或变量指定为 __attribute__ ((unused)) 是否允许编译器执行任何其他优化?
我对 LLVM 4.1 特别好奇,但也会对其他编译器的行为感兴趣。
根据GCC 文档(LLVM 至少部分支持),该unused
属性具有以下行为:
但是,如果编译器能够警告您未使用的参数和变量,那么它可能已经知道哪些参数和变量是未使用的,而无需您告诉它(特别是因为该unused
属性仅指示该变量可能未使用)。因此,该unused
属性是否允许编译器执行任何额外的优化,或者它的目的只是为了允许更多可读的代码?此外,如果该unused
属性确实允许编译器执行其他优化,那么如果您最终使用指定为的参数或变量会发生什么情况unused
?LLVM(在 XCode 中)似乎没有抱怨这种情况,尽管我可能没有在正确的优化级别进行编译或启用了正确的警告。