我的代码的简化版本在这里
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'?
我正在尝试使用动态类型实现玩具语言,即变量没有类型,只有值,并且每个变量在使用之前都需要声明.例如,代码可能看起来像var x; x = 3; x = 'a';.此外,我想将这种玩具语言编译为本机代码,而不是在某些虚拟机中运行它.
目前,我已经生成了一个AST,我将使用LLVM C++ API将AST编译为LLVM IR.问题是,我应该生成什么样的IR
var x;或var y = 3.4;ain c = a + 1)compiler-construction compilation llvm dynamic-typing llvm-ir
只安装了一个版本的Ruby,我已经运行了gem install bundler && bundle install.
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)