Ubuntu 22.04源碼安裝yasm 1.3.0

sudo lsb_release -r看到操作系統的版本是22.04sudo uname -r可以看到內核版本是5.15.0-86-genericsudo gcc --version可以看到版本是11.2.0sudo make --version可以看到版本是GNU Make 4.3
在這里插入圖片描述

下載yasm

http://yasm.tortall.net/Download.html是yasm官網,https://github.com/yasm/yasm/是yasm的git倉庫。
sudo wget -c http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz下載yasm源碼。
在這里插入圖片描述

sudo tar -xf yasm-1.3.0.tar.gz解壓yasm源碼。
在這里插入圖片描述

cd yasm-1.3.0進入源碼目錄。
在這里插入圖片描述

編譯并安裝

sudo ./configure進行配置
在這里插入圖片描述

完成之后如下:
在這里插入圖片描述

sudo make進行編譯。
在這里插入圖片描述

完成如下:
在這里插入圖片描述

sudo make install安裝。
在這里插入圖片描述

yasm --version可以看到輸出的內容如下:

yasm 1.3.0
Compiled on Nov  9 2023.
Copyright (c) 2001-2014 Peter Johnson and other Yasm developers.
Run yasm --license for licensing overview and summary.

在這里插入圖片描述

代碼測試

代碼如下:

section .datastringToShow db "Hello",10,0
section .bss
section .textglobal _start_start:mov rax,1mov rdi,1mov rsi,stringToShowmov rdx,6syscallmov rax,60mov rdi,0syscall

上邊的代碼使用編輯器保存成helloInYasm.asmsudo yasm -felf64 -g dwarf2 helloInYasm.asm -o helloInYasm.o進行匯編,sudo ld helloInYasm.o -o helloInYasm進行鏈接,sudo ./helloInYasm執行輸出Hello
在這里插入圖片描述

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

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

相關文章

扁平的MutableList元素每隔若干元素一組裝入新MutableList,Kotlin

扁平的MutableList元素每隔若干元素一組裝入新MutableList&#xff0c;Kotlin fun main(args: Array<String>) {val array arrayOf("a", "b", "c", "d", "e", "f", "g", "h", "i…

左值、右值 、左值引用、右值引用的總結

文章目錄 什么是左值什么是右值純右值&#xff1a;將亡值&#xff1a; 左值引用右值引用 在C語言中我們常常會提起左值(lvalue) 和 右值(rvalue) 這樣的稱呼。編譯器在編譯程序報錯時&#xff0c; 有時也會報出錯誤信息中會包含左值、右值的說法。但是左值和右值并沒有一個嚴謹…

Numpy數組的重塑,轉置與切片 (第6講)

Numpy數組的重塑,轉置與切片 (第6講) ??????? ??博主 侯小啾 感謝您的支持與信賴。?? ?????????????????????????????????????????????????????????????????????????????????…

String 和 StringBuffer和 StringBuilder 場景應用

目錄 1.三者區分2.String 不可變性的示例代碼&#xff1a;3.String 頻繁創建對象4.StringBuffer 是可變的&#xff0c;可以進行增刪改操作而不產生新的對象。5.StringBuffer 是線程安全的&#xff0c;適合在多線程環境下使用&#xff0c;但同步會帶來一定的性能損耗。 代碼舉例…

聚類分析 | Matlab實現基于譜聚類(Spectral Cluster)的數據聚類可視化

聚類分析 | Matlab實現基于譜聚類(Spectral Cluster)的數據聚類可視化 目錄 聚類分析 | Matlab實現基于譜聚類(Spectral Cluster)的數據聚類可視化效果一覽基本介紹程序設計參考資料 效果一覽 基本介紹 1.Matlab實現基于譜聚類(Spectral Cluster)的聚類算法可視化&#xff08;完…

融云 Global IM UIKit

GlobalIM UIKit 基于多年領先的行業經驗&#xff0c;我們為開發者提供功能完備的單群聊 通信能力。“分鐘級”接入&#xff0c;即可得到符合海外用戶使用習慣的多端同步產品。 核心功能包括&#xff1a;快速接入、功能齊全、全球化交互體驗、內容審核、靈活可配置、高度自定義、…

c++詳解棧

一.什么是棧 堆棧又名棧&#xff08;stack&#xff09;&#xff0c;它是一種運算受限的數據結構&#xff08;線性表&#xff09;&#xff0c;只不過他和數組不同&#xff0c;數組我們可以想象成一個裝巧克力的盒子&#xff0c;你想拿一塊巧克力&#xff0c;不需要改變其他巧克…

基于AWS Serverless的Glue服務進行ETL(提取、轉換和加載)數據分析(二)——數據清洗、轉換

2 數據清洗、轉換 此實驗使用S3作為數據源 ETL: E extract 輸入 T transform 轉換 L load 輸出 大綱 2 數據清洗、轉換2.1 架構圖2.2 數據清洗2.3 編輯腳本2.3.1 連接數據源&#xff08;s3&#xff09;2.3.2. 數據結構轉換2.3.2 數據結構拆分…

FFmpeg開發筆記(六)如何訪問Github下載FFmpeg源碼

學習FFmpeg的時候&#xff0c;經常要到GitHub下載各種開源代碼&#xff0c;比如FFmpeg的源碼頁面位于https://github.com/FFmpeg/FFmpeg。然而國內訪問GitHub很不穩定&#xff0c;經常打不開該網站&#xff0c;比如在命令行執行下面的ping命令。 ping github.com 上面的ping結…

初識Linux:權限(1)

目錄 提示&#xff1a;以下指令均在Xshell 7 中進行 Linux 的權限 內核&#xff1a; 查看操作系統版本 查看cpu信息 查看內存信息 外部程序&#xff1a; 用戶&#xff1a; 普通用戶變為超級用戶&#xff1a; su 和 su-的區別&#xff1a; root用戶變成普通用戶&#…

KALI LINUX信息收集

預計更新 第一章 入門 1.1 什么是Kali Linux&#xff1f; 1.2 安裝Kali Linux 1.3 Kali Linux桌面環境介紹 1.4 基本命令和工具 第二章 信息收集 1.1 網絡掃描 1.2 端口掃描 1.3 漏洞掃描 1.4 社交工程學 第三章 攻擊和滲透測試 1.1 密碼破解 1.2 暴力破解 1.3 漏洞利用 1.4 …

什么是SSL證書?

當我們網上購物或銀行業務時&#xff0c;為了安全起見&#xff0c;我們希望看到網站的地址欄上有“HTTPS”和安全鎖圖標。但是這個“HTTPS”和鎖定圖標實際上意味著什么&#xff1f;要回答這些問題&#xff0c;我們需要了解 HTTPS、SSL 協議和 SSL 證書。 關于HTTPS、SSL和SSL…

風控反欺詐安全學習路標

1. 金融和支付領域知識 - 了解金融和支付領域的基本概念、業務流程和風險特點。 - 學習金融機構的監管要求和合規措施&#xff0c;如KYC&#xff08;了解你的客戶&#xff09;和AML&#xff08;反洗錢&#xff09;。 2. 數據分析和挖掘技術 - 學習數據分析和數據挖掘的基本原理…

fastadmin獲取關聯表數據select渲染

php public function piliangadd(){if (false === $this->request->isPost()) {$fenlei_list = Db::name(fenlei)->order(weigh desc)->select();$this</

每天五分鐘計算機視覺:稠密連接網絡(DenseNet)

本文重點 在前面的課程中我們學習了殘差網絡ResNet,而DenseNet可以看成是ResNet的后續,我們看一下圖就可以看出二者的主要區別了。 特點 DenseNet是一種卷積神經網絡,它的特點是每一層都直接連接到所有后續層。這意味著,每一層都接收來自前一層的輸出,并將其作為輸入傳遞…

Flyway——Oracle創建前綴索引

文章目錄 前言創建一般索引的語法前綴索引 前言 索引有助于提升數據庫表的查詢速率&#xff0c;極大的縮減查詢的時間。但索引的創建需要考慮的因素很多&#xff0c;并非索引越多越好&#xff01; 創建一般索引的語法 oracle創建一般的常見索引&#xff0c;語法如下所示&…

n個人排成一圈,數數123離隊

#include<stdio.h> int main() { int i, n100,k0,j0,a[1000]{0};//k&#xff1a;數數123的變量&#xff0c;j記錄離開隊列人數的變量scanf("%d",&n);for(int ii0; ii<n; ii){ for( i0; i<n; i){// printf("wei%d ",i);if((a[i]0)&&…

掌握Line多開技術,打造私人專屬空間

掌握Line多開技術&#xff0c;打造私人專屬空間 在現代社交網絡的時代&#xff0c;人們經常需要同時處理多個社交賬號&#xff0c;例如工作、家庭、朋友等不同領域的社交關系。而對于Line這樣的主流社交應用來說&#xff0c;多開技術可以讓用戶更便捷地管理多個賬號&#xff0…

數據結構線性表-棧和隊列的實現

1. 棧(Stack) 1.1 概念 棧&#xff1a;一種特殊的線性表&#xff0c;其只允許在固定的一端進行插入和刪除元素操作。進行數據插入和刪除操作的一端稱為棧 頂&#xff0c;另一端稱為棧底。棧中的數據元素遵守后進先出LIFO&#xff08;Last In First Out&#xff09;的原則。 …

Vue學習計劃-Vue2--Vue核心(三)methods和computed

Vue 1. 事件 v-on 基礎 使用 v-on:xxx或者xxx綁定事件&#xff0c;其中xxx是事件名 事件的回調需要配置在methods對象中&#xff0c;最終會在vm上 methods中配置函數&#xff0c;不要用箭頭函數&#xff0c;否則this就不是vm了 methods中配置函數&#xff0c;都是被Vue管…