bellard.org? : QuickJS 如何使用 qjs 執行 js 腳本

參閱上一篇:Fabrice Bellard(個人網站:?bellard.org?)介紹

Fabrice Bellard(個人網站:?bellard.org?)是計算機領域最具影響力的程序員之一,其貢獻跨越多個技術領域并持續推動開源生態發展。

?QuickJS?
小型嵌入式JavaScript引擎,強調低內存占用與ES6規范支持,適用于IoT設備與腳本擴展開發。

從?bellard.org 下載?quickjs-2025-04-26.tar.xz?到 D:\tcc\ , 然后解壓。
從?bellard.org 下載?quickjs-cosmo-2025-04-26.zip 到 D:\tcc\ , 然后解壓。看?readme.txt

D:\tcc\quickjs-cosmo-2025-04-26> rename qjs qjs.exeD:\tcc\quickjs-cosmo-2025-04-26> qjs -h
QuickJS version 2025-04-26
usage: qjs [options] [file [args]]
-h  --help         list options
-e  --eval EXPR    evaluate EXPR
-i  --interactive  go to interactive mode
-m  --module       load as ES6 module (default=autodetect)--script       load as ES6 script (default=autodetect)
-I  --include file include an additional file--std          make 'std' and 'os' available to the loaded script
-T  --trace        trace memory allocation
-d  --dump         dump the memory usage stats--memory-limit n  limit the memory usage to 'n' bytes (SI suffixes allowed)--stack-size n    limit the stack size to 'n' bytes (SI suffixes allowed)--no-unhandled-rejection  ignore unhandled promise rejections
-s                    strip all the debug info--strip-source    strip the source code
-q  --quit         just instantiate the interpreter and quit

計算圓周率 pi ,用 BigInt :
copy D:\tcc\quickjs-2025-04-26\examples\pi_bigint.js D:\tcc\quickjs-cosmo-2025-04-26\
cd D:\tcc\quickjs-cosmo-2025-04-26
?qjs pi_bigint.js 100
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679

為了計算?斐波那契數列(Fibonacci?sequence),編寫 fib_bigint.js? 如下

/** Fibonacci sequence computation in Javascript using the BigInt type*/
"use strict";function calc_fib(n)
{var a = BigInt(0);var b = BigInt(1);var c = BigInt(0);if (n <= 0)return a;for (var i = 2; i <= n; i++) {c = a + b;a = b;b = c;}return b;
}function main(args) {var r, n, n_bits, out;if (args.length < 1) {print("usage: qjs fib_bigint.js  n_digits");return;}n = args[0] | 0;if (n <=0) return;var r = calc_fib(n);var result = r.toString();print(result);
}var args;
if (typeof scriptArgs != "undefined") {args = scriptArgs;args.shift();
} else if (typeof arguments != "undefined") {args = arguments;
} else {/* default: 100 digits */args=[100];
}main(args);

cd?D:\tcc\quickjs-cosmo-2025-04-26
運行??qjs fib_bigint.js 365
8531073606282249384383143963212896619394786170594625964346924608389878465365

校驗,運行 python fibonacci.py 365
F(365): 8531073606282249384383143963212896619394786170594625964346924608389878465365

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/79275.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/79275.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/79275.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據結構---

案例一 1.隨機生成n個工人工時&#xff0c;100以內&#xff0c;工號分別為2021101到2021100n 2.以工時數為關鍵字分別使用選擇排序、冒泡排序、插入排序進行升序排序。 3.把排序后的結果輸出&#xff0c;包括工號工時數 4.比較三種算法對相同的n值數組排序所花的時間 代碼如下&…

Python硬核革命:從微控制器到FPGA的深度開發指南

1. 重新定義硬件開發:Python的顛覆性突破 傳統硬件開發長期被C/C++和Verilog/VHDL統治,但Python正通過兩條路徑改變這一格局: 1.1 微控制器領域的MicroPython革命 完整Python 3.4語法支持,運行在資源受限的MCU上(最低要求:64KB ROM,16KB RAM) 直接內存訪問能力,突破…

基于springboot+vue的寵物共享平臺

開發語言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服務器&#xff1a;tomcat7數據庫&#xff1a;mysql 5.7數據庫工具&#xff1a;Navicat12開發軟件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;Maven3.3.9 系統展示 寵物寄養管理 寵…

day 11 超參數調整

一、內參與外參&#xff08;超參數&#xff09; 內參是模型為了適應訓練數據而自動調整的&#xff0c;是模型內部與訓練數據緊密相關的因素&#xff0c;不同的訓練數據會導致模型學習到不同的參數值&#xff0c;這些參數在模型訓練完成后就固定下來。 超參數是在模型訓練前需…

快速搭建對象存儲服務 - Minio,并解決臨時地址暴露ip、短鏈接請求改變瀏覽器地址等問題

其他文章 服務容錯治理框架resilience4j&sentinel基礎應用---微服務的限流/熔斷/降級解決方案-CSDN博客 conda管理python環境-CSDN博客 快速搭建對象存儲服務 - Minio&#xff0c;并解決臨時地址暴露ip、短鏈接請求改變瀏覽器地址等問題-CSDN博客 大模型LLMs的MCP入門-…

樸素貝葉斯分類器

樸素貝葉斯分類器 樸素貝葉斯是一種基于密度估計的分類算法&#xff0c;它利用貝葉斯定理進行預測。該算法的核心假設是在給定類別的情況下&#xff0c;各個特征之間是條件獨立的&#xff0c;盡管這一假設在現實中通常不成立&#xff0c;但樸素貝葉斯分類器依然能夠生成對有偏…

在 Trae CN IDE 中配置 Python 3.11的指南

在 Trae CN IDE 中配置 Python 3.11的指南 下載 python 3.11 安裝 Python 3.11 首先&#xff0c;我們需要確保安裝了 Python 3.11。可以從Python 官方網站下載適合你操作系統的版本。 鏈接 如果你已經安裝了 Python 3.11&#xff0c;可以通過以下命令確認&#xff1a; 文…

MQTT 協議與 HTTP 協議的區別

在現代的網絡通信中&#xff0c;MQTT 協議和 HTTP 協議都扮演著重要的角色&#xff0c;但它們有著不同的特點和適用場景。下面我們就從多個方面來詳細探討它們之間的區別。 一.協議設計理念 1. MQTT 協議 MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;即…

Postgresql源碼(145)優化器nestloop參數化路徑評估不準問題分析

相關 《Postgresql源碼&#xff08;133&#xff09;優化器動態規劃生成連接路徑的實例分析》 1 問題 最近遇到一個問題&#xff0c;評估行數和真實行數存在較大差距&#xff0c;導致計劃不準的問題。 nestloop內表評估是根據外表的參數來的。因為外表驅動表每取一條&#xff…

HTML與CSS實現風車旋轉圖形的代碼技術詳解

在前端開發中&#xff0c;HTML和CSS是構建網頁的基礎技術。通過巧妙運用HTML的結構搭建和CSS的樣式控制&#xff0c;我們能夠實現各種精美的視覺效果。本文將對一段實現旋轉圖形效果的HTML和CSS代碼進行詳細解讀&#xff0c;剖析其中的技術要點。 一、運行效果 HTML與CSS實現風…

linux下,ollama會把模型文件保存在哪里?

文章目錄 運行ollama,有兩種形式,估計得分開討論首先是使用自動啟動的ollama:先跑個“小一點的大模型”但是現在模型文件存在哪兒呢?運行ollama,有兩種形式,估計得分開討論 我們用兩種方式,來運行ollama。 首先是使用自動啟動的ollama: ps -aux | grep ollama系統自…

鼎訊信通 智能通信干擾設備:多頻段多模態信號壓制解決方案

在萬物互聯時代&#xff0c;通信安全已成為現代社會的核心基礎設施防護重點。面對日益復雜的電磁環境挑戰&#xff0c;新一代智能通信干擾設備通過技術創新實現了信號壓制能力的革命性突破。本文將深入解析該設備的八大核心功能與技術特性&#xff0c;展現其在商業通信保障、工…

【2025軟考高級架構師】——案例分析總結(13)

摘要 本文對2025年軟考高級架構師的考綱及案例分析進行了總結。內容涵蓋系統規劃、架構設計、系統建模、安全架構、可靠性分析、大數據架構等多方面知識點&#xff0c;還涉及軟件質量特性、系統流程圖與數據流圖、嵌入式系統架構、分布式系統設計等考查內容&#xff0c;詳細列…

js單調棧解題模板

模板 function solve(arr) {const stack [];const result new Array(arr.length).fill(默認值);for (let i 0; i < arr.length; i) {while (stack.length && 比較條件(arr[i], arr[棧頂])) {const top stack.pop();result[top] 計算結果(i, top); }stack.push…

[藍橋杯真題題目及解析]2025年C++b組

移動距離&#xff08;填空&#xff09;** 小明初始在二維平面的原點&#xff0c;他想前往坐標 (233,666)。在移動過程中&#xff0c;他只能采用以下兩種移動方式&#xff0c;并且這兩種移動方式可以交替、不限次數地使用&#xff1a; 水平向右移動&#xff0c;即沿著 x 軸正方…

【ICMP協議深度解析】從網絡診斷到安全實踐

目錄 前言技術背景與價值當前技術痛點解決方案概述目標讀者說明 一、技術原理剖析核心概念圖解核心作用講解關鍵報文類型說明協議版本對比 二、實戰演示環境配置要求核心實驗實現實驗1&#xff1a;標準ping流程實驗2&#xff1a;traceroute路徑發現實驗3&#xff1a;自定義ICMP…

安卓基礎(懸浮窗分級菜單和彈窗)

initializeViews() 初始化 把全部的按鈕都弄出來 // 主菜單按鈕ImageButton mainButton floatingMenuView.findViewById(R.id.main_button);// 二級菜單按鈕subButtons new ImageButton[3];subButtons[0] floatingMenuView.findViewById(R.id.sub_button_1);subButtons[1]…

馮·諾依曼體系:現代計算機的底層邏輯與百年傳承

在智能手機流暢運行復雜游戲、超級計算機模擬氣候變化的今天&#xff0c;很少有人會想到&#xff0c;驅動這些神奇機器運轉的核心架構&#xff0c;依然遵循著70多年前提出的設計理念。這就是由匈牙利裔美國科學家約翰馮諾依曼&#xff08;John von Neumann&#xff09;奠定的馮…

【云備份】服務端工具類實現

1.文件實用工具類設計 不管是客戶端還是服務端&#xff0c;文件的傳輸備份都涉及到文件的讀寫&#xff0c;包括數據管理信息的持久化也是如此&#xff0c;因此首先設 計封裝文件操作類&#xff0c;這個類封裝完畢之后&#xff0c;則在任意模塊中對文件進行操作時都將變的簡單化…

CGI 協議是否會具體到通訊報文?

CGI&#xff08;Common Gateway Interface&#xff09;不涉及具體的網絡通訊報文格式&#xff0c;它定義的是 Web服務器與外部程序之間的數據交互方式&#xff0c;而不是像HTTP或FastCGI那樣的二進制協議。下面分幾個方面詳細說明&#xff1a; 1. CGI 的交互方式&#xff08;非…