小编Ran*_*aba的帖子

C++重载函数作为模板参数

我的代码的简化版本在这里

int foo(int x)
{
  return x;
}

int foo(int x, int y)
{
  return x+y;
}

template<typename unary_func>
int bar(int k, unary_func f)
{
  return f(k);
}

int main()
{
  bar(3, foo);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法告诉编译器我要传递什么,因为参数是第一个`foo'?

c++ templates overloading

12
推荐指数
2
解决办法
1290
查看次数

使用LLVM IR实现动态打字Lanugage

我正在尝试使用动态类型实现玩具语言,即变量没有类型,只有值,并且每个变量在使用之前都需要声明.例如,代码可能看起来像var x; x = 3; x = 'a';.此外,我想将这种玩具语言编译为本机代码,而不是在某些虚拟机中运行它.

目前,我已经生成了一个AST,我将使用LLVM C++ API将AST编译为LLVM IR.问题是,我应该生成什么样的IR

  1. 变量声明(带或不带初始值,如var x;var y = 3.4;
  2. 可变访问(如ain c = a + 1)

compiler-construction compilation llvm dynamic-typing llvm-ir

10
推荐指数
0
解决办法
1197
查看次数

使用nginx的乘客:无法加载此类文件 - bundler/setup(LoadError)

只安装了一个版本的Ruby,我已经运行了gem install bundler && bundle install.

nginx conf

passenger_root /root/.gem/ruby/2.1.0/gems/passenger-4.0.52;
passenger_ruby /usr/bin/ruby;
server {
    listen 80;
    server_name example.com;
    root /srv/http/myrailsapp/public;
    passenger_enabled on;
    rails_env development;
}
Run Code Online (Sandbox Code Playgroud)

错误日志

cannot load such file -- bundler/setup (LoadError)
/usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/lib/phusion_passenger/loader_shared_helpers.rb:263:in `block in run_load_path_setup_code'
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/lib/phusion_passenger/loader_shared_helpers.rb:366:in `running_bundler'
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/lib/phusion_passenger/loader_shared_helpers.rb:261:in `run_load_path_setup_code'
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/helper-scripts/rack-preloader.rb:100:in `preload_app'
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/helper-scripts/rack-preloader.rb:158:in `<module:App>'
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/helper-scripts/rack-preloader.rb:29:in `<module:PhusionPassenger>'
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/helper-scripts/rack-preloader.rb:28:in `<main>'
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails passenger nginx

6
推荐指数
2
解决办法
6600
查看次数