建立linux可執行程式

2021-10-07 11:24:57 字數 3088 閱讀 3592

1.在vendor/rockchip目錄下建立工程目錄loopread

2.目錄結構如下:

|--loopread.mk

|--sepolicy/

|--file_contexts

|--loopread.te

|--src/

|--android.mk

|--etc/

|--init.loopread.rc

|--loopread.c

3.下面逐步解讀工程檔案(mk,te,rc,file_contex檔案不做介紹,這裡專注與loopread.c,但每個檔案內容全部列出,雖然有的只有一行**,如下:)

include $(build_executable)3.5.loopread.c 此main函式接收兩個引數,乙個是檔案路徑,乙個是delay時間,單位us

#

include

#include

#include

#include

intmain

(int argc,

char

* ar**)

//迴圈讀取

do//這裡有length限制,最大好像是4096,請注意不要超過,如果超過會執行報錯

fread

(buf,

sizeof

(int32_t

), rx * tx, f)

;fclose

(f);

for(i =

0; i <

48; i++

)printf

("\n");

}printf

("\n");

//ar**[2]:接收的第乙個引數

usleep

(atoi

(ar**[2]

));}

while

(flag)

;return0;

}

3.6.init.loopread.rc

# for touch

service loopread/vendor/bin/loopread

class main

seclabel u:r:dm:s0

group system diag oem_2901 usb root shell bluetooth wifi sdcard_rw sdcard_r media

4.編譯命令:make loopread

編譯過程中有看到把loopread裡面的android.mk link進來

including ./vendor/rockchip/loopread/src/android.mk ...

編譯完成後log:

target executable: loopread(out/target/product/rk3288_box/obj/executables/loopread_intermediates/linked/loopread)

target symbolic: loopread(out/target/product/rk3288_box/symbols/system/bin/loopread)

5.進入到out/target/product/rk3288_box/symbols/system/bin/目錄可以看到有loopread生成

6.執行

a).將此push到裝置中的/data/目錄下

b).修改許可權:chmod 777 /data/loopread

c).執行命令:./data/loopread /proc/meminfo 1000000,此條命令會每隔1s讀取一次meminfo檔案

以上記錄之

Linux 呼叫可執行程式

3.使用execl 常用方法 二 system函式 在c c 程式中,經常需要呼叫其它的程式來先成某項任務,例如其它的c c 程式 作業系統命令或shell指令碼,c c 提供了exec函式族和system函式來實現這個功能。exec函式族提供了乙個在程序中啟動另乙個程式執行的方法。它可以根據指定的...

gdb除錯linux可執行程式

gdb除錯程式例子 root localhost cswapserver dist gdb cswapserver gnu gdb gdb red hat enterprise linux 7.2 83.el6 license gplv3 gnu gpl version 3 or later thi...

python 執行可執行程式

python do exe.pyw coding utf 8 import os exe dir c program files q dir exe file q dir.exe def do cmd dir,file if os.access dir,os.f ok os.chdir dir if...