代码之家  ›  专栏  ›  技术社区  ›  StealthRT

ARDUINO库到Visual C++ DLL的转换

  •  0
  • StealthRT  · 技术社区  · 6 年前

    嘿,我正在尽我最大的努力修复下面的这些错误。C++代码来自一个我想转换为VisualC++的DLL的ARDUIO库,用于我的C语言应用程序。

    以下是存在错误的区域:

    void AES::do_aes_encrypt(BYTE *plain,int size_p,BYTE *cipher,BYTE *key, int bits, BYTE ivl [N_BLOCK]){
      calc_size_n_pad(size_p);
      BYTE plain_p[get_size()];
      padPlaintext(plain,plain_p);
      int blocks = get_size() / N_BLOCK;
      set_key(key, bits) ;
      cbc_encrypt(plain_p, cipher, blocks, ivl);
    }
    

    " “错误为” “this”不能在常量表达式中使用 ".

    string AES::letsDecrypt(BYTE *key, string msg, AES aes) {
      char data_decoded[200];
      char iv_decoded[200];
      char temp[200];
      BYTE out[200];
    
      aes.set_key(key, sizeof(key));
      msg.toCharArray(temp, 200);
      int b64len = base64_decode(data_decoded, temp, msg.length());
      string(iv_Encoded).toCharArray(temp, 200);
    
      base64_decode(iv_decoded, temp, string(iv_Encoded).length());  
      aes.do_aes_decrypt((BYTE *)data_decoded, b64len, out, key, 128, (BYTE *)iv_decoded);
      char message[msg.length()];
      char* msgBase64 = (char *)out;
    
      base64_decode(message, (char *)out, msg.length());
    
      return std::string(message);
    }
    

    " “错误为” 类“std::basic_字符串,std::分配器>没有成员“toCharArray” ".

    字符消息[msg.length()]; “错误为” 表达式必须具有常量值 ".

    帮助是很棒的,因为我是C++的新手!

    0 回复  |  直到 6 年前