clang相关内容

LLVM编译器和命名

我期待到LLVM的系统,我已经通过入门文档的读取。然而,一些术语(和铛例子措辞)仍然是一个有点混乱。下列术语和命令编译过程的一部分,我想知道是否有人也许能好一点解释它们对我来说: 铛-S 与铛-c (我知道是什么 -c 做,但怎么做的结果有什么不同?)* (编辑) LLVM位code与LLVM IR(有什么区别?) .ll文件与文件.BC(它们是什么,他们是如何不同?) 的 LLVM组 ..
发布时间:2016-07-18 20:53:46 .NET Framework

编译汇编(.s)文件一起iPhone项目

在我的iPhone项目,我有一个名为arm_asm_stub.S汇编文件,其中包含一个方法,我需要从另一个文件在我的项目叫main.c中调用当我不#包括我的main.c文件的顶部的文件,我得到没有生成错误,但我得到的链接器错误: 适用于建筑的ARMv7未定义的符号: “_execute_arm_translate”,从引用: _iphone_main在main.o中 然而,当 ..
发布时间:2016-07-18 20:52:18 移动开发

生产与铿锵随身code加好

我试图产生code(目前使用铛++ - 3.8),增加了两个数字组成的多机的话。为了简化事情的那一刻,我只需要添加128位数字,但我希望能概括这一点。 首先,一些类型定义: 的typedef无符号长长unsigned_word; 的typedef __uint128_t unsigned_128; 和一个“结果”类型:结构结果 { unsigned_word LO; unsigne ..
发布时间:2016-07-18 20:45:10 C/C++开发

铿锵交错的源代码与汇编

想知道如果它是能够生成交错的源和组件从铛? 我要寻找到GCC命令等价的东西(截至的http://www.fclose.com/240/generate-a-mixed-source-and-assembly-listing-using-gcc/) GCC -Wa,-adhln -g source_ code.C> assembly_list.s 我已经访问过的链接: ..
发布时间:2016-07-18 20:26:49 C/C++开发

铛(LLVM)内联汇编 - 无用泄漏/重载多重约束

铛/ GCC :有些内联汇编操作数可以得到满意的多重约束,如“RM”,当一个操作数可以得到满意用一个寄存器或内存位置。作为一个例子,在64×64 = 128位的乘法 __ asm__(“mulq%Q3”:“= A”(RL),“= D”(RH):“%0”(X),“RM”(Y) :“CC”) 生成的code能够选择参数的内存限制 3 ,如果我们注册饿死,避免溢出这将是罚款。显然有比IA32上的 ..
发布时间:2016-07-18 20:01:25 .NET Framework

如何关掉LLVM的综合汇编?

我有涉及手写装配AT&放一个项目; T语法,做工精细与海湾合作委员会,而不是由我做再加上我不是很了解装配其试图与Clang的建立它的时候表现出奇怪的问题 LLVM文档提到,“大多数X86指标”使用LLVM的集成组装,而不是制度汇编;作为一个可能的解决方法,我想明确地使用了后者。我(当然,谷歌)都没有成功找到关于如何做到这一点的信息。 问:有没有办法询问或者说强制锵/ LLVM使用该系统,而不是 ..
发布时间:2016-07-18 19:58:56 .NET Framework

如何嵌入LLVM汇编语言或内在函数与Clang的C程序?

C编译器可以嵌入汇编code C程序。 我是pretty确保锵应该允许嵌入LLVM汇编语言或内在code与C程序。我怎么可以嵌入LLVM汇编在C code吗? 解决方案 现在你不能。 您可以,但是,分别在自己的文件写的LLVM汇编函数,将其标记为 alwaysinline ,然后用你的其他文件编译它 - 这应该让你相同的结果。请参见如何首先编译C文件IR然后此相关的问题链接在一起的。 ..
发布时间:2016-07-18 19:57:24 .NET Framework

返回固定大小的数组

有时候我想要回东西数组,我知道我应该做的是让呼叫者进行阵列和修改法阵。但事实证明,这个工作的? @interface测试:NSObject的 @结束@implementation测试 - (CGPoint [2])测试{ CGPoint P1 = {1,2}; CGPoint P2 = {3,4}; 返回(CGPoint [2]){P1,P2}; } - (INT [2 ..
发布时间:2016-06-03 10:55:32 移动开发

如何初始化与删除,拷贝构造函数的类阵列(C ++ 11)

在here ,例如),我想避免调用通过直接初始化拷贝构造函数。我收到的语法错误?这是海湾合作委员会的错误吗?或者是什么,我试图做是不可能的? 解决方案 我同意,这似乎是一个错误的GCC(报道的 63707 )。 它只是无法编译时数组中的类型有一个用户定义的析构函数,这是没有道理给我。 ..
发布时间:2016-05-31 19:22:15 C/C++开发

等同MSVC在其他编译器_countof?

是否有任何内置的等价 _countof 通过其他编译器,特别是海湾合作委员会,并提供锵?是否有任何非宏形式? 解决方案 使用C ++ 11的非宏的形式是: 字符arrname [5]; 为size_t计数=的std ::程度< decltype(arrname)GT; ::值; 和范围可以在 type_traits 头被发现。 或者,如果你希望它看起来有点漂亮,在这个包装它:模 ..
发布时间:2016-05-30 22:11:08 其他开发

锵交叉编译Windows Phone的ARM目标

我想编译使用锵为“Windows Phone的”ARM目标用C语言编写的程序。 没有人有经验呢? 什么是更好的方法? 1)运行Windows 8的主机使用锵为Windows和MinGW大厦。锵是否适用于Windows / MinGW的默认支持ARM?如果没有,我将需要重新建立锵和MinGW? 2)建立一个Linux / MAC主机上​​(如ARM目标之际,默认)和采用Windows Pho ..
发布时间:2016-05-29 15:05:41 其它硬件开发

不能编译/安装在iPhone上MRC和MCR协处理器指令?

我似乎不能够组装MCR和MRC的ARMv7指令(这些是协处理器访问指令)与iPhone?我有一些在与code的Sourcery GCC工具链建设一个不同的CortexA8芯片(采用OMAP芯片)工作,很好地一些内联汇编块这些说明,但苹果的装配 - 铛汇编和他们的GNU汇编编译 - 扔了错误: {标准输入}:41:坏指令`MRC p15,0,R2,C9,C12,0“ {标准输入}:56:坏指令` ..
发布时间:2016-05-29 14:58:18 移动开发

在C使用ASM命令

我有在c。使用ASM一个小问题。我想执行指令: LDR PC,=为0x123456 这给我的错误“,在操​​作意外的标记。” ASM(“LDR PC,=为0x123456”); 这给了“无效的约束。” ASM(“LDR PC”,“M”(为0x123456)); 什么是做到这一点的正确方法? 解决方案 您使用的是这样的: ASM(“LDR PC,=为0x123456”); 这 ..
发布时间:2016-05-29 14:55:26 其它硬件开发

锵交叉编译为ARM?

是否有可能建立锵为为 ARM 处理器交叉编译?主机很可能会在 86 (AMD64 - 可能的Ubuntu 12.04)和目标将是 ARM (树莓派的还有PANDABOARD,将为每个单独做编译),我可能会在某些时候也想交叉编译为PowerPC架构?节目源是在C 解决方案 要交叉编译为树莓派跑软浮动Linux发行版添加标记 -ccc宿主三臂EABI -marm - mfpu = VFP -m ..
发布时间:2016-05-29 14:39:26 服务器开发

铛:如何列出支持的目标架构?

目前,我一般和专门的iPhone / Android的目标感兴趣的ARM。但我只是想知道更多关于铛,因为它认为在未来数年中发挥重要的作用来。 我试过 铛-cc1 --help | grep按名单 铛-cc1 --help | grep的拱| grep的-v搜索 铛-cc1 --help | grep的目标 - 三< VALUE>指定三重目标(例如i686的-苹果darwin9) ..
发布时间:2016-05-29 14:26:04 其它硬件开发

优雅和安全的方式,以确定是否架构为32位或64位

作为标题所说,有没有优雅的和安全的方式,以确定是否架构为32位或64位。通过优雅,你能想到precise,正确的,总之,清洁,聪明的方式。通过安全,想安全标准,C89 / C99和操作系统独立性任期。 解决方案 指针的大小是不是真的要考个好东西 - 没有太多标准C,您可以用该测试的结果,反正做 我的建议是测试((为size_t)-1),最大对象的大小将c理解: IF((为size_t ..
发布时间:2016-05-28 11:11:22 其他开发

最新的C ++ 11的功能与Android NDK

我想用C ++ 11线程的设施与Android NDK,但不知道如何使它使用最新的编译器。 我有锵3.2,并且能够以iOS应用程序。我不知道是否有一种方法可以与Android NDK做到这一点? 如果不是这样,我应该那么如何建立与GCC 4.8? 解决方案 NDK版本为10有锵3.6工具链。使用它: NDK_TOOLCHAIN​​_VERSION:= clang3.6 或使用最 ..
发布时间:2015-12-02 12:46:01 移动开发