天天看點

把代碼做成庫檔案,防止修改或者檢視。

前言,昨天在奕力科技調試觸摸屏。找不到人家的驅動檔案。一問原來是隐藏了。

具體步驟

1,make   xx.c   xx.o

2,  $ ar  -r   libxxx.a   xxx.o

3,modify  makefile    //for ex    u-boot/common/cmd_jiangdou.c  ,,make  cmd_jiangdou.o

  $ ar  -r  libjiangdou.a  common/cmd_jiangdou.o

  $ rm  common/cmd_jiangdou.c   //這樣删掉cmd_jiangdou.c  ,别人照樣可以編譯,但是不能看其内容或者修改了

[csharp] view plain copy

quiet_cmd_u-boot__ ?= ld      $@  

      cmd_u-boot__ ?= $(ld) $(ldflags) $(ldflags_u-boot) -o $@ \  

      -t u-boot.lds $(u-boot-init)                             \  

      --start-group $(u-boot-main) --end-group    \  

      $(platform_libs) -l ./ -ljiangdou -map u-boot.map  

quiet_cmd_smap = gen     common/system_map.o  

cmd_smap = \   

4,  dou@ubtu:/work/u-boot$ ar -t libjiangdou.a 

cmd_jiangdou.o

dou@ubtu:/work//u-boot$

5  file  ->  cmd_jiangdou.c 

#include <jiangdou.h>//add by jiangdou for sd  

unsigned char display_param[1024];  

int update_env(void)//common/board_r.c  

{  

    unsigned char buf[32]="";  

    int ret;  

    unsigned int i;  

    //printf("update jiang_dou param file ...........\n");  

    display_cfg_init();  

    memset(display_param, 0, sizeof(display_param));  

    //printf("%d\n",sizeof(cfg));  

    //display_cfg_init(cfg);  

    i = 0;  

    if(disp_cfg == 1)  

    {     

        //printf("===file====\n");  

        //printf("%s\n",display_param);//display_param = 屏參檔案内容  

        //setenv("display_param", display_param);  

        //saveenv();  

        //getprofilestring(display_param, "display_param", "clock-frequency", dou);  

        for(i =0; i < 17; i++){  

            ret = getprofilestring(display_param, "display_param", cfg[i].name, buf);  

            if(ret < 0){  

                return ;  

            }  

            else{