C/C++代码到V代码

V可以翻译整个C/C++代码到V代码,以享受带来的安全性、简单性和高达400x的编译速度。

比如C++代码:

  1. std::vector<std::string> s;
  2. s.push_back("V is ");
  3. s.push_back("awesome");
  4. std::cout << s.size();

将翻译为以下V代码:

  1. mut s := []
  2. s << 'V is '
  3. s << 'awesome'
  4. println(s.len)

关于翻译DOOM的博客文章即将发布。

翻译几乎支持全部的C语言标准,但是对C++对支持还处于早期阶段。上面是简单的例子,复杂的C++代码可能有困难。C++是一个比较复杂的语言,我们希望今年年底能完成这个工作。

DOOM从C代码翻译到V代码后,编译时间是0.7秒,提升了25倍。

C/C++代码到V代码 - 图1