zoukankan      html  css  js  c++  java
  • 20191214--OpenSSL编译安装和编程基础(基于openeuler)

    购买华为云服务器

     

    OpenSSL编译安装

    下载最新版本OpenSSL 1.1.1k的源码openssl-1.1.1k.tar.gz,然后把代码上传到openEuler云服务器中

    https://www.openssl.org/source/openssl-1.1.1k.tar.gz

    这里使用wget命令直接下载

    建立两个文件夹,分别放置OpenSSL的源码和安装路径
    运行pwd,知道绝对路径

    mkdir rocopensslsrc rocopenssl

    cd rocopenssl

    pwd

    解压源代码到rocopensslsrc文件夹:

    tar -zxvf openssl-1.1.1k.tar.gz -C rocopensslsrc

    配置编译安装路径(/root/rocopenssl),和openEuler系统默认的不同。

    (这里不小心把rocopenssl写成recopenssl,后面安装目录使用后者)

    cd rocopensslsrc/openssl-1.1.1k

    ./config --prefix=/root/recopenssle

    编译

    make

    安装

    make install

    查看安装后的版本,确定是最新安装的1.1.1k版:

    cd ~/rocopenssl

    ./bin/openssl version

    成功安装

    OpenSSL命令的帮助使用openssl help查看

    OpenSSL编程

    编写一个测试代码test_openssl.c:

    编译运行:

    输出0

    BASE64算法

    写一个BASE64的测试代码testbase64.c:

    编译

    gcc -o testbase64 testbase64.c -I /root/rocopenssl/include -L /root/rocopenssl/lib -lcrypto -lpthread

    执行./testbase64

    编写一个test.dat 是个二进制文件

    内容是我的学号“20191214”

    结果:

    实验 3-1:在树莓派上安装 Raspberry Pi OS

    无树莓派,略

    3.2 实验 3-2:汇编语言练习——查找最大数

    代码:

    编译

    gcc test. -o test -g --static

    运行

    ./test

    成功输出最大数

    调试

    openeuler安装gdb

    yum install gdb

    调试
    gdb --tui ./test

    b main 设置断点:

    输入“r”命令运行 test 程序。

    输入“s”进行单步调试。

    使用“info reg”命令来查看寄存器的值。

    实验 3-3:汇编语言练习——通过 C 语言调用汇编函数

    使用汇编语言实现一个汇编函数,用于比较两个数的大小并返回最大值,然后用
    C 语言代码调用这个汇编函数。

    编写compare.s 和 main.c

    编写makefile文件

    3.4 实验 3-4:汇编语言练习——通过汇编语言调用 C 函数

    使用 C 语言实现一个函数,用于比较两个数的大小并返回最大值,然后用汇编代
    码调用这个 C 函数。

    编写compare.S main.c Makefile

    编译运行

    实验 3-5:汇编语言练习——GCC 内联汇编

    使用 GCC 内联汇编实现一个函数,用于比较两个数的大小并返回最大值,然后
    用 C 语言代码调用这个函数

    编写compare.c ma.s Makefile

    编译

    运行:

  • 相关阅读:
    cf B. Sereja and Suffixes
    cf E. Dima and Magic Guitar
    cf D. Dima and Trap Graph
    cf C. Dima and Salad
    最短路径问题(floyd)
    Drainage Ditches(网络流(EK算法))
    图结构练习—BFSDFS—判断可达性(BFS)
    Sorting It All Out(拓扑排序)
    Power Network(最大流(EK算法))
    Labeling Balls(拓扑)
  • 原文地址:https://www.cnblogs.com/kuohao1214/p/15490984.html
Copyright © 2011-2022 走看看