问题标签 [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.
xcode - Gcc Eclipse 检查
我在 macOS Lion 上使用 eclipse 进行 C/C++ 编程。最近我用 macPorts 安装了新的 gcc 版本 gcc-mp-4.7。然后我使用端口选择命令将这个新版本替换为旧版本,即默认的 X-code 4.2.1。现在从命令行我可以看到我正在使用新的 gcc 版本。
如何检查 Eclipse 是否正在使用这个新版本?从工具链中,我只看到安装了旧版本的 gcc(如 llvm-gcc4.2)。如果我在构建选项命令行中编写 gcc,Eclipse 会采用更改后的版本还是旧版本?
也许这是一个愚蠢的问题,但我在网上没有看到任何明确的内容:)
ios - xcode 4.5、iOS 6.0 SDK 编译错误 - base.h
我从 xcode 4.4.3 升级到 4.5,无法再构建我们的应用程序。我在 iOS 6.0 SDK base.h 中收到以下编译错误:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/include/dispatch/base.h:103:44:错误:令牌之前缺少二进制运算符“( "
我立即尝试恢复到 iOS 5.1.1 SDK,但发现我做不到。我去了 Xcode->preferences->downloads 但没有以前的 SDK 版本可供安装.. 只有模拟器和命令行工具。
我们的一位开发人员发现从 LLVM GCC 4.2 恢复到 Apple LLVM 编译器 4.1 解决了编译问题。
但似乎我必须下载以前版本的 xcode 4.4.3 才能获得 iOS 5.1.1 SDK。
有人在 xcode 4.5 下安装了 iOS 5.1.1 sdk 吗?
有没有人遇到过 iOS 6.0 SDK 构建问题?
谢谢...
xcode - 如何在 Mac 上使用 AES-NI 内部函数?
我正在尝试在 Mac 上编译 C 应用程序。我使用 SSE4 和 AES-NI 内在函数。
在 Linux 中,我只需使用 -msse4 和 -maes 标志调用 gcc 并包含wmmintrin.h标头,我可以调用 SSE 内在函数_mm_add_epi64(a,b)
或 AES-NI 内在函数_mm_aesenc_si128(a, b)
,一切正常。
在 Mac 上,这更难,因为 Apple 用尚不支持 AES-NI 的 llvm-gcc 替换 GCC。所以 SSE4 内在函数工作正常,但不是 AES 的。即使是对 AES 指令的内联汇编调用也无法识别。
英特尔在他们的网站上有很多 AES 示例代码,但它仅适用于 Linux 和 Windows。
我确实注意到 llvm-gcc 也不支持 RDRAND 指令,但英特尔通过使用扩展为原始机器字节码的 C 宏提供了一种解决方法。(请参阅此英特尔库中的 rdrand.h 示例文件)
不幸的是,没有为 AES-NI 指令提供类似的解决方法,可能是因为指令有参数并且不能作为静态机器代码字节进行评估。
确实存在在 Mac 上使用 AES-NI 的程序,包括 Apple 自己的 File Vault,所以一定有一些可行的方法!
为了使我的问题具体化,我将如何获得以下简单调用来使用最新的 Mac gcc-llvm 4.2(Mountain Lion xcode 4.4.1 中的最新公开版本)进行编译:
谢谢你的帮助!
macos - 忽略文件....libgcc.a,文件是为存档而构建的,它不是被链接的架构(x86_64)
基本上,我想运行一个 .cpp 并链接几个 .a 文件和 gcc、fortran。命令如下
g++ -L/Users/myhome/Ipopt-3.10.0/build/lib -lipopt -L/Users/myhome/lcoinmumps -lpthread -framework vecLib -L/Developer/usr/llvm-gcc-4.2/lib/gcc/i686 -apple-darwin11/4.2.1 -L/usr/local/gfortran/lib -lgfortran -lgcc_static -lcc_kext -lgcc -lSystem -framework vecLib -framework vecLib -lm -ldl -o cpp_example cpp_example.cpp
错误显示为
ld:警告:ld:警告:忽略文件/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/libgcc_static.a,文件是为存档而构建的,这不是架构链接(x86_64):/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/libgcc_static.a 忽略文件/Developer/usr/llvm-gcc-4.2/lib/gcc/ i686-apple-darwin11/4.2.1/libgcc.a,文件是为存档而构建的,它不是被链接的架构(x86_64):/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11 /4.2.1/libgcc.a
架构 x86_64 的未定义符号:“MyNLP::MyNLP()”,引用自:ccY99KRH.o 中的 _main ld:未找到架构 x86_64 的符号 collect2:ld 返回 1 个退出状态
如粗体文本所示,错误似乎是我在 32 位内核或 CPU 上运行。但是我使用的是 x86_64:我已经根据此处更改了 boost.plist,并且“关于 mac”清楚地证明了我现在使用的硬件和软件都是 64 位的。
这里似乎已经解释了mac架构(?)以某种方式无法识别64位。
但是当我将文件(.a .cpp .h)添加到 Xcode 并一起运行项目时,它工作正常。
任何人都知道为什么命令行不起作用?为什么我的 libgcc(i686-apple-darwin11-llvm-gcc-4.2) 无法识别为 64 位版本?最重要的是,如何让命令发挥作用?
顺便说一句,我的系统是狮子 10.7.4
c - 为什么编译器不在堆栈上分配和释放带有“sub*”和“add*”的本地变量?
根据一些教科书,编译器会使用sub*
局部变量来分配内存。
例如,我编写了一个 Hello World 程序:
我猜这将在 64 位操作系统上编译成一些汇编代码:
为subq
参数分配 8 字节内存(一个点的大小)并addq
释放它。
但是当我输入时gcc -S hello.c
(我在 Mac OS X 10.8 上使用 llvm-gcc),我得到了一些汇编代码。
在此周围callq
没有任何addq
and subq
。为什么?的作用是addq $16, %rsp
什么?
感谢您的任何意见。
llvm-gcc - klee with loops 类似代码的奇怪行为
对于带有符号参数的循环,我有一个关于 KLEE(符号执行工具)如何工作的问题:
如果我们用这段代码执行 klee,它只会给出一个测试用例。但是,如果我们去掉 printf(...) 的注释,klee 将需要某种类型的控制来停止执行,因为它会产生 n 的值:--max-depth= 200
我想了解为什么 klee 有这种不同的行为,这对我来说没有意义。为什么如果我在这段代码中没有 printf,它不会产生相同的值。
我发现它发生在选项时发生 - 当它没有相同的行为时,使用时式。有人知道 Klee 的 --optimize 是如何工作的吗?
另一个同样的问题是,如果在他们发表的论文中,据我所知,他们说他们的启发式搜索将使它不是无限的(他们使用避免饥饿),因为我让它运行不会停止,这是真的在这个循环的情况下应该完成 klee 执行?
提前致谢
iphone - ld 无法为架构 armv7 映射文件 errno=22
当命令行为 iPhone (iOS) 构建项目时,我收到以下错误:
ld 无法为架构 armv7 映射文件 errno=22
但是,当通过 lipo - info 检查库和对象时,它们支持 armv7。有没有人遇到过这个问题和/或知道如何完成链接?
compiler-errors - 如何解决错误:“snprintf”的类型冲突
在我的应用程序中,我使用Compiler for C/C++/Objective-C是用于模拟器的Apple LLVM 编译器 4.1 。对于模拟器,这是可行的。当我为设备编译相同的代码时,我将C/C++/Objective-C 的编译器更改为LLVM GCC 4.2。这次我在 stdio.h “冲突类型”中遇到错误“sprintf”。
我正在使用 Mac OS x 10.7.4 Xcode 4.5(iOS 6)
这在 (Mac OS x 10.7.4 & Xcode 4.2.3(iOS 5)) && (Mac OS x 10.6.8 & Xcode 3.2.3(iOS 4)) 中运行良好。
LLVM 编译器的 iOS 5 和 iOS 6 有什么区别。有人请帮帮我吗?
macos - i686-apple-darwin11-llvm-gcc-4.2 和 llvm-gcc-4.2 的区别
调查/usr/llvm-gcc-4.2/bin
我有
有人可以解释这些编译器之间的区别吗?
i686-apple-darwin11-llvm-gcc-4.2
我用两者和 编译相同的应用程序(ac hello-world)llvm-gcc-4.2
:它们都可以工作,但差异报告差异。
有人可以解释这些可执行文件之间有什么区别吗?
c++ - XCode 中的 LLVM-GCC ASM 到 LLVM
我得到了以下 2 个定义,使用 XCode LLVM-GCC 编译器可以很好地编译(和工作):
但是,当我将编译器更改为 Apple LLVM 时,出现以下错误:
我将 {} 替换为 () 但这并不能解决问题,我在那个错误上用谷歌搜索找不到任何有用的东西......有人吗?