編譯系統透視下載
❶ [openharmony]liteos-a系統編譯之GN
在 文章 中已經分析openharmony的小型系統(liteos-a)編譯過程,最主要的就是調用gn/ninja/makefs三個命令最終生成可燒錄的鏡像文件
從前面文件可以看到hb build調用的gn命令參數如下
這里詳細分析一下gn工具在編譯過程中的使用
這里簡單介紹下GN工具的使用方法,gn語法可以參考 http://weharmonyos.com/openharmony/compile/gn/docs/
,已經熟悉的可以跳過
從上面圖中可以看到使用的命令類型為 gn gen <output_dir> [options] ,此命令就是為了將所有需要的BUILD.gn文件生成為*.ninja文件供ninja進行編譯; 可以通過 gn help gen 命令查看詳細的用法說明, 如下
下面重點說一下gn_cmd中的 [options]
liteos-a編譯系統的dotfile內容如下:
liteos-a是嵌入式系統,而編譯環境是linux系統,這就需要用到交叉編譯方式,這個就可以在環境配置中指定 target_os 、 target_cpu 、 board_cpu 等等信息
這些信息就是 buildconfig 參數指定的 BUILDCONFIG.gn 文件中配置的
除了以上信息,還配置了以下幾個重要信息
詳細信息可以查看 //build/lite/config/BUILDCONFIG.gn 文件內容
toolchain定義源碼編譯需要的工具,像編譯器、匯編器、連接器等等,一般在.gn所在目錄下有一個 toolchain 目錄,裡面的 BUILD.gn 定義詳細的編譯工具鏈信息
這里目錄結構如下:
從結構信息中可以看到定義了clang和gcc兩種工具鏈,通過變數 board_toolchain_type 來區分(此變數也是buildconfig中定義的),具體信息參見BUILD.gn文件內容,如下
在.gn文件所在目錄下的BUILD.gn就是入口,此文件做了以下幾個事情
這里重點說一下target為 ohos 的 group 如下:
這里也比較好理解,裡面就是讀取一個配置文件,幾級循環來處理配置文件中配置的內容。流程如下
到此就將此board下各模塊的依賴關系添加好了,然後 GN 會將依賴樹中所有的BUILD.gn生成對應的.ninja文件,並且在out的根目錄下生成下面幾個ninja的入口文件以及配置文件
❷ 求《自己動手構造編譯系統編譯匯編與鏈接》全文免費下載百度網盤資源,謝謝~
《自己動手構造編譯系統編譯匯編與鏈接》網路網盤pdf最新全集下載:
鏈接: https://pan..com/s/1ZNUyA_bRKtFBrKVwnetFzg
簡介:這是一本關於編程相關的電子書籍,作者是編程行業的資深者,全書一共分為了7個章節,讀者可以在這里了解到全新的手動編程知識!
❸ auto cad2008破解版 cad2008完整破解版
auto cad2008破解版 cad2008完整破解版 http://www.ss11.cn/Soft/740.html CAD即計算機輔助設計(CAD-Computer Aided Design) 利用計算機及其圖形設備幫助設計人員進行設計工作 。簡稱cad。 在工程和產品設計中,計算機可以幫助設計人員擔負計算、信息存儲和制圖等項工作。CAD還包含:電氣CAD、外貿結算CAD、加拿大元、冠狀動脈性心臟病、計算機輔助診斷、服裝CAD等含義。 cad軟體 除計算機本身的軟體如操作系統、編譯程序外,cad主要使用互動式圖形顯示軟體、cad應用軟體和數據管理軟體3類軟體。 互動式圖形顯示軟體用於圖形顯示的開窗、剪輯、觀看,圖形的變換、修改,以及相應的人機交互。cad 應用軟體提供幾何造型、特徵計算、繪圖等功能 , 以完成面向各專業領域的各種專門設計。構造應用軟體的四個要素是:演算法 、數據結構、用戶界面和數據管理。數據管理軟體用於存儲 、檢索和處理大量數據,包括文字和圖形信息。為此,需要建立工程資料庫系統。它同一般的資料庫系統相比有如下特點:數據類型更加多樣,設計過程中實體關系復雜,庫中數值和數據結構經常發生變動,設計者的操作主要是一種實時性的交互處理。 基本技術 主要包括交互技術、圖形變換技術、曲面造型和實體造型技術等。 在計算機輔助設計中,交互技術是必不可少的。互動式cad系統, 指用戶在使用計 cad系統 算機系統進行設計時,人和機器可以及時地交換信息。採用互動式系統,人們可以邊構思 、邊打樣、邊修改,隨時可從圖形終端屏幕上看到每一步操作的顯示結果,非常直觀。 圖形變換的主要功能是把用戶坐標系和圖形輸出設備的坐標系聯系起來;對圖形作平移、旋轉、縮放、透視變換 ;通過矩陣運算來實現圖形變換。 計算機設計自動化 計算機自身的cad,旨在實現計算機自身設計和研製過程的自動化或半自動化。研究內容包括功能設計自動化和組裝設計自動化,涉及計算機硬體描述語言、系統級模擬、自動邏輯綜合、邏輯模擬、微程序設計自動化、自動邏輯劃分、自動布局布線,以及相應的交互圖形系統和工程資料庫系統。集成電路 cad有時也列入計算機設計自動化的范圍。 auto cad2008破解版 cad2008完整破解版 http://www.ss11.cn/Soft/740.html
希望採納
❹ 電腦小白一個,求推薦學習電腦的書籍。最基本的操作我都不會好落伍
如果是學習電腦編程可以通過以下書籍學習;
C/C++
1、《C程序設計語言》 入門推薦
2、《C Primer Plus》 入門推薦
3、《C和指針》
4、《C陷阱與缺陷》
5、《C++ Primer》入門推薦
為了更深入地理解程序原理,建議再學一下匯編語言
《現代x86匯編語言程序設計》
Linux
《UINX環境高級編程》 後台開發必讀
《鳥哥的Linux私房菜》 Linux運維推薦入門系列
《Linux內核設計與實現》
網路
《TCP/IP詳解卷1:協議》
java
《Java編程語言》 入門推薦
《Java編程思想》
Python
《Python核心編程》(第2版),第3版難度加大,內容變更較多,用2版入門足夠。
資料庫
《Mysql技術內幕》,目前企業所用後台大多是linux+mysql,所以主要學習下mysql就足夠了。
如果對網站開發有興趣可以一並看下《php和mysql web開發》
系統原理
《深入理解計算機系統》強烈推薦,搞懂這本就基本能閱讀大部分計算機相關著作
計算機組成原理
《編碼:隱匿在計算機軟硬體背後的語言》
windows編程,估計你們會有windows編程的課程,如果有學下面這兩本就足夠了
《Windows程序設計》charles petzold(著)
《Windows核心編程》
編譯原理
龍書《編譯原理》,如果看不懂,推薦下面一本《編譯系統透視:圖解編譯原理》。
數據結構與演算法
《數據結構與演算法分析——C語言描述》,也有一本是C++語言描述。
《演算法導論》
編程主要靠實踐,多電腦敲代碼,最好以開發某款軟體為目標去多寫代碼,學完基礎課程,建議也學習下伺服器安全方面的知識。
上面不少書在網上有電子版,可以先下載看看,不清晰的再買實體書,或者圖書館去借
其它一些進階與提升的書,可以多逛逛圖書館。
❺ android系統編譯jar包給app使用
最近在android O編譯系統jar包給應用使用遇到了點問題,網上也沒有找到解決方案,這里記錄下。
編譯方法參考網上博客就可以, android源碼編譯jar包
最終生成了javalib.jar,改名為 tvManager.jar即可。注意:如果沒有指定LACAL_JACK_ENABLED選項,則默認是enabled,將會生成classes.jack文件,不會產生classes.jar包!
正常按照上面方案就可以編譯出jar包,導入到AS裡面就可以使用,下面說下我遇到的問題
遇到classes.jar.toc被依賴, 但是怎麼編譯都沒有編譯出來,網上也沒有找到對應的方法,編譯錯誤如下:
https://www.cnblogs.com/wangqiang9/p/9679466.html
https://stackoverflow.com/questions/43471694/how-to-generate-classes-dex-toc-files
❻ Android系統編譯命令make
在編譯Android系統時,需要先執行2條命令,來設置必要的環境變數。
接下來就可以執行make系列命令,來完成不同的需要。
make clean 用來清除編譯歷史,開始一個全新的編譯。
make -j 或 make -j8 啟動編譯過程。 -j 後面的數字代表要使用的cpu thread的數目。
在完成了全編譯後,才能執行生成OTA升級包的操作。
注意事項:
❼ 編譯調試Android系統原生App - 以Settings為例
本文已過時,最新文章:向大家推薦《使用 AS 開發 System App》 https://xiaozhuanlan.com/system-app
Android原生系統帶有許多原生的App,比如 瀏覽器、錄音機、計算器、設置 等,有些時候,我們需要用到一些系統的功能,或者是對已有的功能做二次開發,比如我上學時給一個公司做過一個Launcher和Wizard,就需要用到系統設置中的某些功能,比如Wifi、聲音、顯示等功能,於是就需要從Settings源碼中提取出需要的功能。
特別是公司自己定製Android系統,需要在上面做一些 系統級的App 的時候,原生App已有的功能就可以通過編譯其源碼的方式直接拿過來改改就能用,而且可用度很高。
這里有兩種情況,分為 原生 的和 公司定製 的系統。無論是原生的還是定製的,類似於Settings這樣需要使用到 系統級或隱藏API 的App,都需要系統簽名文件和編譯系統源碼後得到相應的jar包才可以在IDE中編譯,因為標准SDK根本沒有那些API可供調用。
舉個栗子:
需要額外的Jar就需要自己編譯系統源碼啦,這個是比較麻煩的,有興趣可以試試自己編譯定製自己的Android系統。
** 注意,既然是定製的,源碼、jar、簽名文件,還有系統都是一一對應的,你不能拿其他公司的系統簽名來給你公司的系統app簽名,這樣無法運行的。 **
有了源碼,下一步當然是要跑起來啦。
建議都使用Eclipse來編譯,不要使用AS,因為AS編譯大型的原生App能卡到你吐血,而且出錯提示也不友好。但是用過AS的人都不想再碰Eclipse了有沒有??別急,可以先用Eclipse編譯過了,再貼到AS中,這樣好很多,也很節省時間。
初始化:
放入源碼:
修正res錯誤:
修正src錯誤:
使用到系統級API的,或者AndroidManifest.xml文件中聲明了
那麼沒有系統簽名,直接debug簽名運行是不行的,需要向底層工程師要系統的簽名文件,在源碼目錄
build\target\proct\security
下的 platform.pk8 和 platform.x509.pem ,如果你想看此次編譯Settings是否已成功了,可以適當的在入口加一下Log,然後導出未簽名的apk,使用系統簽名進行簽名後,放到 /system/app/ 下替換掉Settings.apk,然後重啟系統,打開設置,看看Logcat是否輸出里加入的Log。
在不知道系統簽名可以轉換成debug簽名前,老實說我一直都是用Log的方式調試,太特么痛苦了。現在知道後整個人都懵逼了。
我們都希望可以像調試普通app那樣調試系統app,以下是如何通過 openssl 將 platform.pk8 和 platform.x509.pem 轉換成 debug.keystore 文件:
三個命令
此方法來自: http://curlog.com/2016/08/30/android-pk2debug-keystore/
Mac自帶openssl,Linux和Win需要安裝。
然後就可以使用得到的debug簽名配置到eclipse後愉快的調試啦,當然,得先把系統中已經存在的app先刪除掉。然後重啟系統,至於如何配置eclipse的debug簽名,請Google。
使用過AS後,當然希望在AS中也可以調試系統App,抽空再寫篇相關編譯和調試的文章。如果這篇文章幫到你了,給個贊唄。