尋找最大檔案

前幾天放了個檔案在伺服器上,忘記放哪了,連名字都忘了,只是記得檔案特別大,所以寫了個指令碼,尋找幾個最大的檔案位置。還好,通過這個指令碼找到了。1 #! /bin/sh                                                                                                 2 if [ $# -eq 0 ]3 then4     var=205 else6     var=$17 fi8     find .

洗牌(排列)

gdb中顯示數組內容:p (int [10])*a一:   1 #include <stdio.h>                                                                                               2 #include <stdlib.h>      3 #include <time.h>      4       5 #define NUM 10      6

關於dex位元組碼

沒辦法,自己沒有看下去,又被說了“好弱”,自嘲下,在這個實驗室,習慣了dalvik-bytecode.html中描述了位元組碼的順序,其中,OP & Formatop指示執行何種操作,Format描述了該種操作所對應的資料流格式。這是師兄的一個case,記錄下:      1 class add {      2     public static void main (String[] args)       3     {      4         int i = 2;     

6200 uboot 測試版分析(三)

小結:uboot中_start開始執行一段程式(基本配置,這一段在6200 sdboot時已經執行過了)跳到start_unicoreboot執行,完成init_sequence[]中的一系列初始化。注意初始化序列之前gd(gd_t*類型)被賦予一個常數值,gd所指向中的bd指標也賦予一常數值。在初始化序列中,務必注意board_init中對gd->bd->bi_boot_params的賦值(0x40000100),因為在緊臨近執行theKernel (0, machid, bd-&

NDK與JNI

先前和師兄移植過NDK,當時不太明白,中間學會了Makefile。下邊是在網上看到的:  NDK其實多了一個把.so和.apk打包的工具,這個是很重要的。而JNI開發並沒有打包,只是把.so檔案放到檔案系統的特定位置。如果是做應用開 發,則需要NDK工具,不然你開發的應用程式怎麼給使用者用呢?難道幫他重新編譯檔案系統?其他至於實現,java調用本地C/C++函數,及其編寫方式,

6200 uboot測試版分析(四)

include/autoconf.mk中COFIG_LOAD_ADDR=0x40008000common/do_boom.c

從程式員的視角看cache(一)

對cache的小結,參考:Computer System A programmer's Perspective 原版_第二版locality:操作近期被其它指令所操作、或本身所操作的數或指令。good temporal locality:被引用過的儲存空間在近期被多次引用good spatial locality:被引用過的儲存空間的相鄰儲存空間在近期被多次引用資料的局部性適用於指令的局部性,但是我們很少修改指令,對於資料卻是頻繁的改動。利用temporal

從boot到bootstrap

do_bootm函數及其所調用的函數,根據頭部的定位地址(mkimage –a的參數)將zImage搬移到指定的記憶體處),根據頭部的入口地址(mkimage –e的參數)獲得head.o在記憶體中的地址,設定r0、r1、r2跳到此處執行。boot傳入r0=0,r1=machine_ID,r2=taglist  (r0為0, r1為machine type, r2位參數列表的物理地址)在次過程中會開啟Icache、Dcache,來加速開機過程 程式中有一段稱為

gas 多檔案組織

gas多檔案工程摘自:Programming from Groundup   Chapter 6主要目的是瞭解如何組織多檔案工程(形式)  檔案record-def.s:.equ RECORD_FIRSTNAME, 0.equ RECORD_LASTNAME, 40.equ RECORD_ADDRESS, 80.equ RECORD_AGE, 320.equ RECORD_SIZE, 324 檔案linux.s:#Common Linux Definitions#System Call

32位不帶正負號的整數中1的個數

      4 int bitcount(unsigned int n)      5 {      6     n = n - ((n>>1)&033333333333) - ((n>>2)&011111111111);      7     n = (n + (n>>3))&030707070707;      8     n = n % 0x3f;      9     return n;      10 }     17

求取32位不帶正負號的整數中最低位位值位1的位置

      3 int bit_pos(unsigned int n)      4 {      5     n = n & (-n);                                                                                                 6     n = n - 1;      7     n = n - ((n>>1)&0x77777777) - ((n>>2

IEEE754浮點表示

執行IEEE754標準bmbm−1 . . . b1b0.b−1b−2 . . .b−n−1b−n表示:   將小數點右移近似相當於乘2,小數點左移近似相當於除2系統每隔0.1s計數器加一(系統最後計時以計數值乘以系統認為的0.1s二進位值),0.1D=0.000110011[0011]……B,我們只取小數點後23

wav格式簡易分析

格式參考Multimedia Programming Interface and Data Specifications 1.0      1 aplay -C -c 1 -f U8 -r 11025 -t wav -d 7 my.wav                                                                   2 000000 52 49 46 46 9c 2d 01 00  >RIFF.-..<      3 000008

mov pc, r4 @ call kernel

mov pc, r4          @ call kernel   絕對跳轉到r4:40008000處開始執行開始進入Image,Image由vmlinux產生,所以從vmlinux開始閱讀理解。arch/unicore/kernel目錄,據其連結指令碼,從head.S開始:__lookup_processor_type:運用相對取址,取出proc_info_list,做出processor對比(因為一個鏡像支援一種processor,該processor的資訊從副處理器的c0:4d0008

從程式員的角度看cache(二)

  同樣的物理地址在不同的任務中可能被描述成不同的虛擬位址。這可能導致同樣的物理地址被存入到快取兩個不同的資料項目。許多MIPS CPU沒有硬體來檢測或者避免這種快取重影(cache alias)而把問題留給作業系統的記憶體管理程式來解決。  大多數現代的 MIPS

mips 純二進位反組譯碼(bin檔案)

Usage: mipsel-linux-objdump <option(s)> <file(s)> Display information from object <file(s)>. At least one of the following switches must be given: -a, --archive-headers Display archive header information -f, --file-headers Display

call_kernel絕對跳轉

misc.c中函數decompress_kernel的列表四個參數是:output_start:40008000,free_mem_ptr_p:sp, free_mem_ptr_end_p:sp+64K ,arch_id:9fc (arch_num個人感覺這個英文但其會引起歧義,arch_num的中文意思應該時架構號,改成mach_id可能更適合些,mach_id對應的中文時機器號)最終解壓出的是Image放置在了40008000處unicore32-linux-objcopy -O

關於 ld 命令中 -Ttext 參數 的測試

檔案sramboot.S#include"regdef.h".text.globl mainmain:    .set noreorder    .set noat    la at, value    lw a0, 0(at)    lw a1, 4(at)    jal my_add    add a2, a0, a1    sw a2, 8(at) 檔案#include"regdef.h".text.globl my_add,valuemy_add:         .set

0.12記錄

出自0.12:main()也是一個函數。這是因為在編譯串連時它將會作為crt0.s組譯工具的函數被調用。crt0.s是一個樁(stub)程式,名稱中的“crt”是“C

解譯器中對 標號 的使用

android_6200/dalvik/vm/mterp/out/InterpC-portdbg.c  + 467c89也支援向我這樣看待碼永遠都學不好程式,感覺好迷茫,誰麼時候能有個整體的認識?!寫個示意程式:      1 #include <stdio.h>                                                                                                                

總頁數: 61357 1 .... 9587 9588 9589 9590 9591 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.