当我在终端上运行以下代码时,它会给出分段错误。我正在使用boringssl 库。
#include <bits/stdc++.h>
#include <openssl/evp.h>
using namespace std;
// #include <openssl/digest.h>
int main(){
EVP_MD_CTX* ctx = EVP_MD_CTX_new();
EVP_MD_CTX_init(ctx);
const EVP_MD* sha256 = EVP_sha256();
EVP_DigestInit(ctx,sha256);
char str[]="ANIKET GUPTA";
EVP_DigestUpdate(ctx,str,strlen(str));
unsigned char hash[EVP_MAX_MD_SIZE];
unsigned int* hash_size;
EVP_DigestFinal(ctx,hash,hash_size);
cout <<"SUCCESS";
EVP_MD_CTX_free(ctx);
}
我使用以下命令运行此代码: g++ -I~/src/boringssl/include sign.cpp ~/src/boringssl/build/crypto/libcrypto.a -lpthread
导致分段错误的错误是什么?