This repository has been archived by the owner on Nov 3, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3.2k
希望默认构建一个 Windows ARM64 版本 #230
Comments
尝试过了,上游一个库(rquickjs)不支持win arm,所以暂不提供 |
现在还没能支持吗? |
我尝试编译,发现 ring 也不支持。可能要等下面这个更新 |
或许我可以提供一个兼容性比较好的quickjs binding |
@morn-0 怎么说 |
我目前维护了一个兼容性比较好的quickjs binding。不过目前在往里面添加canvas api的支持。我可以先拆分出一个干净的分支,在这里先换掉rquickjs保证整体的兼容性 |
我简单拆了一个 use quick_rs::{context::Context, function::Function, module::Module, runtime::Runtime};
const SCRIPT: &str = r#"
function main(config) {
if (Array.isArray(config.rules)) {
config.rules = [...config.rules, "add"];
}
// console.log(config);
config.proxies = ["111"];
return config;
}
"#;
fn main() {
let runtime = Runtime::new();
let context = Context::from(&runtime);
let script = format!(
"{};export function _main(config) {{return JSON.stringify(main(JSON.parse(config)));}}",
SCRIPT
);
let value = context.eval_module(&script, "_main").unwrap();
let module = Module::new(value).unwrap();
let value = module.get("_main").unwrap();
let function = Function::new(value).unwrap();
let string = context.new_string(r#"{"rules":[]}"#).unwrap();
let value = function.call(vec![string]).unwrap();
println!("{}", value.to_string().unwrap());
} 这个版本和上游 quickjs 保持一致,未做任何修改仅合并了一些bug fix。在兼容性方面可能是目前 rust 中最好的,只支持 bingen。(之所以维护这个 binding 是因为公司内部需求,之前我们也是用 但是目前还不支持 |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
在基于 ARM64 的 Windows 设备上(比如Matebook E Go、Surface Pro X、thinkpad X13s、MacBook),虽然可以用转义运行 Clash Verge,但是速度慢而且不能正常使用TUN模式。
希望可以在 Releases 构建时增加一个 Windows ARM64 的包。
The text was updated successfully, but these errors were encountered: