天天看点

把代码做成库文件,防止修改或者查看。

前言,昨天在奕力科技调试触摸屏。找不到人家的驱动文件。一问原来是隐藏了。

具体步骤

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{