惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
Schneier on Security
Schneier on Security
B
Blog RSS Feed
aimingoo的专栏
aimingoo的专栏
P
Proofpoint News Feed
A
About on SuperTechFans
Recorded Future
Recorded Future
Recent Announcements
Recent Announcements
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
Hugging Face - Blog
Hugging Face - Blog
The GitHub Blog
The GitHub Blog
Google DeepMind News
Google DeepMind News
T
Tailwind CSS Blog
Vercel News
Vercel News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MyScale Blog
MyScale Blog
V2EX - 技术
V2EX - 技术
N
Netflix TechBlog - Medium
F
Fortinet All Blogs
V
Visual Studio Blog
Martin Fowler
Martin Fowler
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - Franky
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
The Exploit Database - CXSecurity.com
F
Full Disclosure
Scott Helme
Scott Helme
H
Heimdal Security Blog
博客园 - 叶小钗
Google DeepMind News
Google DeepMind News
Cyberwarzone
Cyberwarzone
Application and Cybersecurity Blog
Application and Cybersecurity Blog
V
Vulnerabilities – Threatpost
Blog — PlanetScale
Blog — PlanetScale
Security Latest
Security Latest
WordPress大学
WordPress大学
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Troy Hunt's Blog
S
SegmentFault 最新的问题
Forbes - Security
Forbes - Security
Jina AI
Jina AI
S
Securelist
小众软件
小众软件
Simon Willison's Weblog
Simon Willison's Weblog
J
Java Code Geeks
AWS News Blog
AWS News Blog
N
News and Events Feed by Topic
博客园 - 三生石上(FineUI控件)
量子位

LLVM

指令调度在 LLVM 与 OoO 的区别与联系? - V2EX 使用 LLVM 的 clang 替换苹果自带的有问题吗 - V2EX 请问 LLVM 如何链接多个目标文件呢? - V2EX 基于 llvm 开发编程语言,有必要学汇编吗?理由是什么,谢谢 - V2EX 想更熟悉 LLVM,是不是要学会 c++?还要学其他的吗? - V2EX 我用 llvm 实现了 bb 语言的加法和减法,也套娃的实现了打印功能,那怎么实现更高级的,如 http 请求功能呢,该怎么套娃呢?套 c 语言吗 - V2EX 我想用 llvm 制作一门语言的编译器,是不是要学会 llvm ir 里的哪个奇怪的语法 - V2EX 用 Clang 编译时如何将编译参数存进 ELF 的某个 section 里? - V2EX LLVM 8.0 发布 WebAssembly target 移除实验标签 - V2EX LLVM/Clang LLD LLDB 5.0 正式发布 - V2EX 有哪位在 RHEL5 下编译过 llvm? - V2EX 有没有朋友了解 klee 和 llvm 啊? - V2EX 大家能访问 LLVM(llvm.org)吗 - V2EX ClangFormat 代码格式化工具 - V2EX llvm足够成熟了么?跟GCC相比有什么优劣? - V2EX 王垠果然开始在 LLVM 上做事情了…… - V2EX 居然看到LLVM了 - V2EX
假如要实现一个基于 LLVM IR 的包管理器,有什么坑或者硬伤吗? - V2EX
ecnelises · 2019-03-02 · via LLVM

背景

要做本科毕设了,现在想的主题是基于 LLVM 的(因为实习做的事也跟 LLVM 有关),但是像讨论寄存器分配这样的东西弄出来好像到最后也只能成一篇文献综述,不讨老师喜欢工作量也不大。

然后想到,既然几乎所有语言都能编译到 LLVM IR,那么要是有一个基于 LLVM IR 的包管理器,不是件很有意思的事情?

问题

第一个想到的问题是,像 C++ 或者其他编译型语言,都是有 Name Mangling 机制的。如果要求编译出来的符号能相互链接,写代码的时候还得自己把 extern 这样的关键字加上。不过在这一层,可以要求用户在一个配置文件里指定导出符号的名字和签名,好像还是个好事。

第二个问题是,这些代码会不会存在跨平台上的障碍。虽然 LLVM IR 通常来说的确可以跨平台,但是不同平台(架构 /操作系统)的编译器前端生成的 IR 会不会不一样,以及会不会产生一些平台相关的代码现在都不太清楚,得再去看看。

第三个问题是,多数语言的可执行文件最后都需要依赖 Runtime 来运行。所以假设要做包管理器的话,是不是得要求这些 IR 都不能依赖各自语言的 Runtime ?好像到这样的话,就跟普通的 FFI 差不多了,就剩下 LLVM IR 比汇编层次高点这个优势了……

求助

各位熟悉 LLVM 的大佬们对这个 Idea 有什么建议吗?或者有什么我没想到的跟 LLVM 有关的课题也可以告诉我,多谢!