草庐IT

LLVM_CONFIG

全部标签

c++ - llvm-ld 仍然存在于 clang 3.4 吗?

我上次检查clang时它的版本是3.1/3.2,现在我在Ubuntu13.0464位下,我从官方apt存储库安装了clang和llvm(加上工具),但没有任何痕迹llvm-ld-3.4、llvm-ld-3.0和llvm-ld-3.1是我的网站上可用的此工具的仅有的2个版native器,我的问题是:我应该用什么来替换llvm-ld并生成库或机器可执行文件? 最佳答案 llvm-ld不再存在。来自LLVM3.2releasenotes:llvm-ldandllvm-stubhavebeenremoved,llvm-ldfunctiona

【已解决】redis启动错误: Warning: no config file specified, using the default config. In order to specify a

Warning:noconfigfilespecified,usingthedefaultconfig.Inordertospecifyaconfigredis启动报如下错误:意思是:启动时无法找到配置文件,远程无法连接解决方法:第一种:在cmd命令行中执行redis-server.exeredis.windows.conf第二种:在redis的根目录下新建一个start.bat文件,将redis-server.exeredis.windows.conf放在文件里,双击start.bat即可启动。也可以解决上述问题下面说说一个小问题:如何更改密码?首先如果是想一劳永逸,那么在redis.win

c++ - "Live"代码和使用 C++ 和 LLVM JIT 的快速原型(prototype)制作?

您可能已经看过BretVictor's"live"JSIDE,或一些alternativeimplementations它激发了灵感,扩展到其他语言,但仍然保留基于VM的语言。但是昨天,我偶然发现了thesameconcept,appliedingoodoldC++,感谢LLVM。仍然是一个非常早期和不成熟的实现,但具有很大的潜力。我真的很好奇这个实现,但是作者已经并且可能不会公开发布它。所以我的问题是,如果有人知道如何实现类似功能的资源,我的意思是几乎瞬时编译和两个连接,提供代码的实时反馈,允许视觉部分更改甚至生成和预览附加代码? 最佳答案

c++ - LLVM 字符串值对象 : How can I retrieve the String from a Value?

当从现有的AST构建IR时,我的AST有一些字符串值(在编译时它们是从std::string构建的)并且我想将它们安全地设置为llvm::Value用作表达式的一部分。在这种情况下,我不需要在运行时绑定(bind)字符串,因为字符串值仅用于在编译时将内容解析为变量、函数或类(该语言不支持native字符串类型)。什么是将我的字符串内容保持为llvm::Value并且仍然能够在编译的后期阶段检索它的最佳方法(当构建嵌套表达式时)?更具体地说,如果我将llvm::Value设置为:llvm::Value*v=llvm::ConstantArray::get(llvmContext,mySt

使用 Apple 的 LLVM 编译器编译 -O 时出现 C++ 代码段错误,但使用 g++ -7.2.0 时则不会

更新:我创建了一个更多的M,但仍然是重现崩溃的CVE。摘要:删除了Base类中对Bool*bools_字段的所有使用(但它仍然必须定义,否则不会发生崩溃)。还从Base及其后代中删除了Base::Initialize()和虚方法Rule。附上新的MCVE。我已经设法为此代码创建了一个MCVE并将其发布在下方。一些描述性细节:代码使用虚基类和派生类,某些实例化的派生类具有调用从“基”类继承的非虚方法的构造函数(实际上是派生类,但在继承层次结构比我所说的“派生”类)来初始化“基”类数据。该方法调用在派生类中重写的虚方法。我意识到这是一件危险的事情,但根据我对C++的(可能有限的)理解,它似

c++ - 将编译器从 x86 汇编移植到 LLVM

最近,为了磨练我的汇编技能,我用C++为玩具语言编写了一个非常简单的编译器。它运行单channel,并在解析阶段直接将代码发送到多个字符串流,每个字符串流代表一段代码(即一个代表section.bss,而其他代表.data和.text)。然后,将这些字符串流写入一个文件,我使用NASM和gcc来组装和链接它们。我知道这种单遍方法效率极低,但同样,这更像是一种理解代码生成阶段的练习,而不是其他任何东西。无论如何,我想修改我的代码以直接发出LLVMIL而不是原始汇编,再次作为学习练习。是否有任何关于LLVMIL的入门级指南?或者,更好的是,一个工具来确定一行汇编的等效IL代码?我看了看,只

c++ - 是否可以将 LLVM 位码文件读入 llvm::Module?

我正在使用LLVM编写编译器。每个源文件都被编译成一个LLVM位码文件。最终,链接器将所有位码文件链接并优化为一个最终的二进制文件。我需要一种方法来读取编译器中的位码文件,以便访问类型信息。LLVM文档显示了一个名为BitcodeReader的类,但它似乎是LLVM的内部类。是否有任何可公开访问的方式将位码文件读入llvm::Module? 最佳答案 我查看了llvm-dis工具的源代码,找到了我要找的功能:Module*ParseBitcodeFile(MemoryBuffer*Buffer,LLVMContext&Context

java - 在 Jenkins 文件夹中的任何地方都找不到 config.xml

我已经在我的Windows8上下载并安装了Tomcatservlet...里面有很多应用的.war文件存在。还有Jenkins。我能够启动它并通过它创建作业和插件。但是我在安装Maven时为Advanced->plugin->HTTPProxy提供了错误的凭据。也许这就是阻止我登录并提供消息的原因:管理员缺少总体/读取权限。我在Jenkins和许多其他网站上进行了搜索;嘿,他们提到要遵循这些步骤......停止Jenkins(最简单的方法是杀死servlet容器。)转到$JENKINS_HOME在文件系统中找到config.xml文件。在编辑器中打开此文件。寻找true此文件中的元素并

c# - 使用 Entity Framework app.config 如何在 Dev、Stage 和 Production 环境之间切换

我有一个使用DataModel.edmx访问Dev数据库的Windows应用程序,它工作正常。为了访问舞台环境数据库,我添加了另一个StageDataModel.edmx。所以app.config中有两个连接字符串:和如何根据环境在app.config中切换数据库?提前致谢! 最佳答案 通常它应该是相反的方式——为每个环境创建一个EFedmx模型和两个(或更多)配置文件。在我的工作中,我们有三种环境:发布=生产阶段=上线前(生产副本、最终测试)调试=新开发,开发团队测试对于这三个环境,我们有三个数据库,它们(几乎)彼此相似。我们从D

windows - 如何从 LLVM ir 创建可执行文件?

我目前正在使用llc使用命令行将.ll文件转换为.s。然后我想拿这个文件然后使用nasm从中创建可执行文件。虽然第一步似乎工作正常,但我无法让第二步工作。原始文件名为code.ll,包含以下代码:definei32@main(){reti320}现在我使用cmd通过键入以下内容来构建.s文件:llccode.ll这工作正常并创建一个包含以下代码的code.s文件:.def@feat.00;.scl3;.type0;.endef.globl@feat.00@feat.00=1.def_main;.scl2;.type32;.endef.text.globl_main.align16,0x