当前位置: 首页 > news >正文

自己怎么建个免费网站江阴市网站建设

自己怎么建个免费网站,江阴市网站建设,温州建网站哪家强,广告公司视频制作本次任务是要完成嵌入式Linux下对openssl程序的支持。 我的开发环境#xff1a;ARM9开发板 和 嵌入式Linux操作系统。装有Linux系统#xff08;我的是ubuntu9.04#xff09;的PC机一台。串口和串口连接线。串口调试软件#xff1a;minicom。交叉编译工具:arm-unknown-l… 本次任务是要完成嵌入式Linux下对openssl程序的支持。     我的开发环境ARM9开发板 和 嵌入式Linux操作系统。装有Linux系统我的是ubuntu9.04的PC机一台。串口和串口连接线。串口调试软件minicom。交叉编译工具:arm-unknown-linux-gnu-gcc     下载最新版本的openssl-1.0.0:      http://www.openssl.org/source/          解压:$tar -xzvf   openssl-1.0.0.tart.gz$cd openssl-1.0.0         openssl-1.0.0$ ./config noasm shared prefix/home/lanpeng/arm-openssl     解释一下这里的参数: config就是配置脚本这里不多说了。no-asm是在交叉编译过程中不使用汇编代码代码加速编译过程.原因是它的汇编代码是对arm格式不支持的。我试过了如果没有这个参数你的交叉编译一定出错。shared生成动态连接库。prefix路径  就是你的安装目录。安装完成后在这个目录下会有四个文件夹:bin lib include ssl。这四个目录非常重要openssl编程就需要这些目录的配合。     配置完成后我们还要修改Makefile文件或许有更好的办法不用修改Makefile,这里请高手指点。修改如下         62 #CC gcc  63 CC arm-unknown-linux-gnu-gcc  64 #CFLAG -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAV    E_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall  65 CFLAG -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_N    O_KRB5 -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall  66 DEPFLAG -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_R    C5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_STORE  67 PEX_LIBS  68 EX_LIBS -ldl  69 EXE_EXT  70 ARFLAGS  71 #AR ar $(ARFLAGS) r  72 AR arm-unknown-linux-gnu-ar $(ARFLAGS) r  73 RANLIB arm-unknown-linux-gnu-ranlib  74 #RANLIB /usr/bin/ranlib  75 #NM nm  76 NM arm-unknown-linux-gnu-nm  77 PERL /usr/bin/perl  78 TAR tar  79 TARFLAGS --no-recursion  80 MAKEDEPPROG gcc  81 LIBDIRlib   即使用交叉编译工具去编译openssl。   修改好了以后执行命令  opensl-1.0.0$ make   要编译5分钟左右慢慢等吧。   然后在输入命令:   opensl-1.0.0$ make install   没有错误恭喜了安装成功。   接下来就使用openssl来编程把。   我在网上找了一段程序,openssl栈的编程:myssl.c:        #include stdio.h #include stdlib.h #include string.h #include openssl/safestack.h      #define sk_Student_new(st) SKM_sk_new(Student, (st)) #define sk_Student_new_null() SKM_sk_new_null(Student) #define sk_Student_free(st) SKM_sk_free(Student, (st)) #define sk_Student_num(st) SKM_sk_num(Student, (st)) #define sk_Student_value(st, i) SKM_sk_value(Student, (st), (i)) #define sk_Student_set(st, i, val) SKM_sk_set(Student, (st), (i), (val)) #define sk_Student_zero(st) SKM_sk_zero(Student, (st)) #define sk_Student_push(st, val) SKM_sk_push(Student, (st), (val)) #define sk_Student_unshift(st, val) SKM_sk_unshift(Student, (st), (val)) #define sk_Student_find(st, val) SKM_sk_find(Student, (st), (val)) #define sk_Student_delete(st, i) SKM_sk_delete(Student, (st), (i)) #define sk_Student_delete_ptr(st, ptr) SKM_sk_delete_ptr(Student, (st), (ptr)) #define sk_Student_insert(st, val, i) SKM_sk_insert(Student, (st), (val), (i)) #define sk_Student_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(Student, (st), (cmp)) #define sk_Student_dup(st) SKM_sk_dup(Student, st) #define sk_Student_pop_free(st, free_func) SKM_sk_pop_free(Student, (st), (free_func)) #define sk_Student_shift(st) SKM_sk_shift(Student, (st)) #define sk_Student_pop(st) SKM_sk_pop(Student, (st)) #define sk_Student_sort(st) SKM_sk_sort(Student, (st))      typedef    struct    Student_st {     char        *name;     int        age;     char        *otherInfo; }Student; typedef    STACK_OF(Student)    Students;      Student *Student_Malloc() {     Student *amalloc(sizeof(Student));     a-namemalloc(20);     strcpy(a-name,zcp);     a-otherInfomalloc(20);     strcpy(a-otherInfo,no info);     return a; }      void    Student_Free(Student *a) {     free(a-name);     free(a-otherInfo);     free(a); } static    int Student_cmp(Student *a,Student *b) {     int        ret;     retstrcmp(a-name,b-name);     return ret; }      int    main() {     Students        *s,*snew;     Student         *s1,*one,*s2;     int            i,num;          ssk_Student_new_null();     snewsk_Student_new(Student_cmp);     s2Student_Malloc();     sk_Student_push(snew,s2);     isk_Student_find(snew,s2);     s1Student_Malloc();     sk_Student_push(s,s1);     numsk_Student_num(s);     for(i0;inum;i)     {         onesk_Student_value(s,i);         printf(student name :    %s\n,one-name);         printf(sutdent    age :    %d\n,one-age);         printf(student otherinfo :    %s\n\n\n,one-otherInfo);     }     sk_Student_pop_free(s,Student_Free);     sk_Student_pop_free(snew,Student_Free);     return 0; } 这里要用到安装目录下的include 和 lib库.所以我写了一个Makefile文件来执行它: COMPILE : arm-unknown-linux-gnu- CC : $(COMPILE)gcc CFLAGS : -Wall -O2 CFLAGS -I/home/lanpeng/arm-openssl/include/ LIBS : /home/lanpeng/arm-openssl/lib/libssl.a  /home/lanpeng/arm-openssl/lib/libcrypto.a %.o: %.c     $(CC) $(CFLAGS) -c -o $ $ hello: zhan.o $(LIBS)     $(CC) $(CFLAGS) -o $ zhan.o -L.$(LIBS) clean:     rm -fr *.o hello 在程序目录下执行make命令编译通过     注意:这里有一个的问题就是在我的Makefile文件里LIBS的定义。它定义了两个静态库文件:libssl,libcrypto.这两个库文件的顺序不可以颠倒。必须先加入libssl库再加入libcrypto库.     把hello文件下载到开发板里执行 ./hello,结果如下 student name :  zcp sutdent age  :  0 student otherinfo :     no info 恭喜了开始你的嵌入式openssl开发之旅把
http://www.zqtcl.cn/news/155363/

相关文章:

  • 万户网站管理系统4.0cms监控系统手机版下载
  • 宁波专业网站建设怎么做如何做一个虚拟网站
  • 网站栏目建设调研公司怎么建立一个网站
  • 苍溪建设局网站网站建设和维护采购协议
  • 代做网站微信号下载 wordpress插件
  • 泉州住房建设局网站wordpress输入html代码
  • 为什么访问外国网站速度慢沈阳网站公司排名
  • 网站建设+泰安网站项目建设策划方案
  • 微信人生里面微网站怎么做wordpress 第三方登录 代码
  • 做商城网站哪里高端大气网站案例
  • 网站做项目网站设计公司深
  • 学校做网站及费用建设网站有何要求
  • 河北邢台移动网站建设宁波网站开发公司电话
  • 免费建立个人网站申请seo搜索引擎优化推广
  • 如何拷贝服务器里面网站做备份金融网站怎么做的
  • 什么网站做的比较好网上投资网站建设
  • 公司网站运营方案策划办网站怎么赚钱
  • 贾汪区建设局网站设计接单兼职网站
  • 东莞商城网站建设哪家便宜wordpress 插件路径
  • 网站服务器 安全快递系统专注快递企业网站开发
  • 旅游网站平台建设的方案深圳移动官网网站建设
  • 如何建设企业人力资源网站网站建设和网络优化的区别
  • 辽宁网站设计影响网站用户体验
  • cms网站如何修改黄山建设网站
  • 宾爵手表官方网站小熊源码网
  • 荥阳网站建设网站建设取得了
  • 江苏省住房和城乡建设厅 官方网站wordpress点击下载
  • 找家里做的工作上哪个网站公司取名三个字推荐
  • 购物网站建设源码wordpress 多多进宝
  • 重庆定制网站建设地址晋安福州网站建设