本文整理汇总了C++中VirtualMachine::LoadAssembly方法的典型用法代码示例。如果您正苦于以下问题:C++ VirtualMachine::LoadAssembly方法的具体用法?C++ VirtualMachine::LoadAssembly怎么用?C++ VirtualMachine::LoadAssembly使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VirtualMachine
的用法示例。
在下文中一共展示了VirtualMachine::LoadAssembly方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: in
Module(GC*gc,std::string path){
vm = new VirtualMachine(gc);
Parser * par;
if(path.length()<3 || std::string(path.end()-4,path.end()) != ".nls"){
vm->LoadAssembly(path.c_str());
BINDALL(vm,setSysFunction);
vm->run();
}else{
try{
std::ifstream in (path);
std::string res( ( std::istreambuf_iterator<char>( in ) ),
std::istreambuf_iterator<char>());
in.close();
par = new Parser(new Lexer(res,path),path);
par->Parse();
RefHolder rh;
BasicBlock bb (&rh);
par->getRoot()->emit(&bb);
bb.ReplaceLabels();
bb.emit(IL::hlt);
vm->SetBasicBlock(&bb);
vm->run();
}catch(...){
NLogger::log("Cannot load module:"+path);
}
delete par;
}
}
开发者ID:TakeOver,项目名称:yet-another-useless-scripting-language-with-javascript-like-syntax-and-non-optimized-virtual-machine,代码行数:28,代码来源:nmodule.hpp