RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-360599

zhilenkov's questions

Martin Hope
zhilenkov
Asked: 2022-08-19 13:13:12 +0000 UTC

从整数生成指针而没有强制转换警告

  • 0

将地址传递给函数时收到警告。警告

warning: passing argument 1 of 'writeFlashBuffer' makes pointer from integer without a cast [-Wint-conversion] 

该功能看起来像

void writeFlashBuffer(uint8_t *pBuffer, uint32_t NumberSector, uint32_t addrBegin, uint32_t Size);

一种函数调用

writeFlashBuffer(*(uint8_t*)&addr, sector, 0, 1024);

变量的类型在哪里

addr - это uint32_t
sector - это uint32_t

如果添加 uint8_t*

writeFlashBuffer((uint8_t*)*(uint8_t*)&addr, sector, 0, 1024);

然后警告变为

warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c
  • 1 个回答
  • 10 Views
Martin Hope
zhilenkov
Asked: 2022-05-31 21:00:15 +0000 UTC

如何向函数添加不同的结构实例?

  • 0

我有一个视图结构的实例:

typedef struct{
const char     str[32];          // текстовая надпись
const char     numberButton[4];  // номер кнопки
const uint32_t size;             // размер кнопки
const uint32_t y;                //  положение y координата
const uint32_t x;                // положение x координата
const uint32_t TextcolF;         // цвет надписи
const uint32_t TextcolB;         // цвет фона
const uint32_t NumColF;          // цвет цифр
const uint32_t NumColB;          // цвет цифр
} const _TypeButonPressedOn;

我做了一个结构定义:

const _TypeButonPressedOn ReadButton; 
const _TypeButonPressedOn DellButton; // и так далее

其中 ReadButton 是按钮实例。

我使用表单的功能在屏幕上显示按钮:

    void ButtonReadOn(void)
{
    moveM(ReadButton.y,ReadButton.x);
    colorM_F(ReadButton.TextcolF);
    colorM_B(ReadButton.TextcolB);
    addstrMenu(ReadButton.str);
    writeWindow(ReadButton.y, ReadButton.x, ReadButton.TextcolF, ReadButton.TextcolB, (char*)ReadButton.str, ReadButton.size);
}

并且可以有几十个这样的功能。

如何替换 'ButtonReadOn' 函数中的 'ReadButton' 以使事情变得更容易?我创建了另一个按钮,为了不在每一行中将“ReadButton”重新制作为“DellButton”,编写“DellButton”,编译器本身会将“ReadButton”替换为“DellButton”。

c
  • 1 个回答
  • 10 Views
Martin Hope
zhilenkov
Asked: 2022-05-13 12:46:08 +0000 UTC

在C语言中将字符串转换为数字

  • 0

我从键盘输入了一个字符串。您需要从此字符串中获取一个数字。数字取在行首,如果行唤醒像 123 Vasya Pupkin,那么总数为 132。输入格式如下:

0xac
0b1101
123
564.75

编写了以下代码:

char text[256];

memset(text,0,sizeof(text));

popStrCalc(&StrCalc, text); // выгрузка из стека

char * p2=text;

if(*p2 == '0'){
        switch (*(p2+1)) {
            case 'x':
            case 'X':{
                resI = strtol(p2+2,NULL,16);
                    pushMcalcI(&MCALC,resI); // загрузка в стек
                break;
            };
            case 'b':
            case 'B': {
                resI = strtol(p2+2,NULL,2);
                    pushMcalcI(&MCALC,resI);
                break;
            };
        }
}
else{
    resI = strtol(text,NULL,10);
        pushMcalcI(&MCALC,resI);
}

我无法理解的问题是如何区分浮点数和整数。我想转换 float '(float)strtod(text,NULL);'。

c
  • 1 个回答
  • 10 Views
Martin Hope
zhilenkov
Asked: 2022-05-05 09:19:28 +0000 UTC

使用 'time.h' 库将 UNIX 格式的时间转换为 dd.mm.yy hh:mm:ss 格式

  • 0

我正在尝试使用 'time.h' 库将 UNIX 格式的时间转换为 dd.mm.yy hh:mm:ss 格式。

为此我做了:

   time_t rawtime = (time_t)datatime;
   struct tm  ts;
   ts = *localtime(&rawtime);

   modifyFileHeaderList.date.day    = ts.tm_mday;
   modifyFileHeaderList.date.mounts = ts.tm_mon;
   modifyFileHeaderList.date.year   = ts.tm_year - 100;

   modifyFileHeaderList.time.hour   = ts.tm_hour;
   modifyFileHeaderList.time.min    = ts.tm_min;
   modifyFileHeaderList.time.sec    = ts.tm_sec;

其中 datatime 是 uint32_t 格式的数字,等于“1619424306”,对应于 UTC 时间 2021 年 4 月 26 日星期一 15:05:06,但我在小时字段“ts.tm_hour”中得到数字“8”,它应该是“ 15'。为什么我得到'8'我不明白。

c
  • 1 个回答
  • 10 Views
Martin Hope
zhilenkov
Asked: 2022-04-27 20:39:39 +0000 UTC

如何在 C 中用零初始化结构

  • 0

我有这个结构:

    typedef struct {
    char str[4][256];
    int  sizeStr;
} _StrCalc;
 _StrCalc StrCalc;

全局结构必须用零初始化。除了'memset()'之外,如何做到这一点?

c
  • 1 个回答
  • 10 Views
Martin Hope
zhilenkov
Asked: 2022-04-27 15:38:27 +0000 UTC

c中字符串的安全副本

  • 0

我想知道如何在 C 中安全地复制字符串。我有字符串 str1,我需要将其复制到字符串 str2,但是当 str1 在句号结束时不为零时,可能会出现这种情况,然后可能会出现指针将用于覆盖数据的情况超出 str2 范围的区域。这个问题有解决方案吗?

c
  • 1 个回答
  • 10 Views
Martin Hope
zhilenkov
Asked: 2022-04-26 12:26:28 +0000 UTC

我收到警告类型分配使指针从整数而不进行强制转换

  • 0

调试时,我收到警告“类型赋值使指针从整数不进行强制转换”。对于此代码:

typedef union{
    uint16_t data[4];
    struct{
    uint16_t    d1; 
    uint16_t    d2;
    uint16_t    d3; 
    uint16_t    d4;
    };
} Dim;

typedef struct {
    uint16_t    type;
    uint16_t    size;     
    uint32_t    adr;
    Dim         dim;
} _DimData;
 _DimData *DimData;

DimData = 0x810000;

该程序有效,但发誓。

如何删除警告?

c
  • 1 个回答
  • 10 Views
Martin Hope
zhilenkov
Asked: 2022-04-20 17:28:07 +0000 UTC

如何优化 C 代码以从函数中删除额外的局部变量

  • 0

上师的问题。我正在摸索如何从函数中删除局部变量“搜索”。一般来说,函数的任务很简单,如果你发现变量'ForNext->FOR[i].var'等于输入变量var,那么我们重新加载参数。如果没有找到,那么我们在下一个地址加载结构数组单元格。

这是代码:

void pushForNext( _FORNEXT *ForNext, uint32_t var, uint32_t begin, float step, float to)
{
    if(ForNext->size < MaxQuantityForNext){

    uint32_t i = 0;
    uint8_t Search = 0; // хочу убрать

    for(i = 0; i < ForNext->size; i++){

        if(ForNext->FOR[i].var == var)
        {
            ForNext->FOR[i].begin = begin;
            ForNext->FOR[i].step = step;
            ForNext->FOR[i].to = to;

            Search = 1;
            break;
        }
    }

    if(Search == 0){
    ForNext->FOR[ForNext->size].var = var;
    ForNext->FOR[ForNext->size].begin = begin;
    ForNext->FOR[ForNext->size].step = step;
    ForNext->FOR[ForNext->size].to = to;

    ForNext->size = ForNext->size + 1;
    }

    }
}

我想在不更改功能的情况下优化和删除局部变量“搜索”。

c
  • 1 个回答
  • 10 Views
Martin Hope
zhilenkov
Asked: 2022-04-14 00:56:53 +0000 UTC

您需要制作一个二维结构数组以将数据输出到终端

  • 0

我需要将数据输出到终端。为此,您需要知道y, x符号代码的位置和属性、符号颜色、符号的背景颜色。其实这适合view的3维数组, char DISP1[2][30][95];但是引用字符码、颜色、背景颜色不是很方便。希望制作一个二维结构数组,其中前两个字节将被描述为

struct{
char ch;
char B_COLOR : 4;
char F_COLOR : 4;
} atSymbol;

其余的数据是位置Y,X. 。我是这样做的:

atSymbol[30][95] где 30 это Y, 95 это X.

由于他们的无知,这种结构不起作用。

c
  • 1 个回答
  • 10 Views
Martin Hope
zhilenkov
Asked: 2022-04-01 14:18:12 +0000 UTC

您如何表示数组的联合并将数组的每个单元格拆分为低位和高位

  • 0

我需要为一个数组建立一个联合。数组中的每个单元都必须用高字节和低字节访问。试图这样做:

    typedef union{
    uint16_t word[32];
    struct{
        uint8_t Ho[32];
        uint8_t Lo[32];
    };
} _DIO_MIN;

我得到了以下布局,首先是单词 go,然后是 Ho,然后是 Lo。应该是每个 word[] 单元格都可以分解为 Ho 和 Lo。

将此结构放入结构后:

typedef struct DIO{
   _DIO_MIN DIO_MIN[63];       
   _DIO_MID DIO_MID[32];            
 } _SysMem;
c
  • 1 个回答
  • 10 Views
Martin Hope
zhilenkov
Asked: 2022-03-31 12:25:12 +0000 UTC

无法通过指针读取结构字段

  • 0

我有这样的结构:

typedef union{
    uint16_t word[32];
    struct{
        uint8_t Ho[32];
        uint8_t Lo[32];
    };
} _DIO_MIN; 


typedef union{
    uint16_t word[128];
    struct{
        uint8_t Ho[128];
        uint8_t Lo[128];
    };
} _DIO_MID; 


typedef union{
    uint16_t word[4096];
    struct{
        uint8_t Ho[4096];
        uint8_t Lo[4096];
    };
} _DIO_MAX;


typedef struct DIO{
       unionDio DIO00;
       _DIO_MIN DIO_MIN[63];      
       _DIO_MID DIO_MID[32];     
       _DIO_MAX DIO_MAX[4];       
       float    GLOB[8192];
       uint16_t ASUIO[32768];
       uint8_t  LOCALL[32768];
       float    STATDATA[32768];
       char     ERRORS[80];
       int      READYINPUT; 
    

       char     DISP1[2][30][95];
       char     DISP2[2][30][95];
       char     DISP3[2][30][95];
       char     DISP4[2][30][95];
} _SysMem;

extern _SysMem SYSMEM;

我想通过指针逐字节访问结构的字段。为此,我这样做:

uint8_t *addrSYSMEM = NULL;
addrSYSMEM = (uint8_t*)&SYSMEM;
SYSMEM.GLOB[0] = 16;
float a = *(addrSYSMEM + 45056);

但在“a”中为零。我不知道我错在哪里。

c
  • 3 个回答
  • 10 Views
Martin Hope
zhilenkov
Asked: 2022-02-20 12:56:15 +0000 UTC

如何在 C 中解析包含“Hello.txt”的名称和扩展名的字符串?

  • 0

您需要将字符串解析为“Hello.txt”类型的C,分为“Hello”和“txt”。有没有这方面的 C 工具?

c
  • 2 个回答
  • 10 Views
Martin Hope
zhilenkov
Asked: 2022-02-17 22:26:33 +0000 UTC

整数除以si的结果是什么

  • 0

问题很简单。但我担心是否总是在除整数时,余数被简单地丢弃,或者发生舍入时是否可能出现这种情况。例子

int i = 0;

i = 0/32; i => 0
i = 1/32; i => 0
...
i = 31/32; i => 0
....
i = 35/32; i => 1
i = 63/32; i => 1

还是有其他情况?

c
  • 1 个回答
  • 10 Views
Martin Hope
zhilenkov
Asked: 2022-02-15 15:52:32 +0000 UTC

如何在第二个线程中进行时间延迟?

  • 0

这个问题对我来说很紧迫。我们必须创建程序来控制外部传感器和继电器。众所周知,需要在指定的时间间隔进行循环管理。如果所有这些控件都被推入主线程并由计时器调用,那么 GUI 开始变慢。您必须创建第二个线程并对其进行管理。但是如何正确设置第二个流程中的时间间隔?

while(true)
{
//управление
//задержка
//..
}
c++
  • 1 个回答
  • 10 Views
Martin Hope
zhilenkov
Asked: 2022-02-13 17:59:31 +0000 UTC

QMessageBox 不会改变字体、大小和类型

  • 1

无法更改 QMessageBox 中的字体。我做什么:在 .h 文件中声明

 QMessageBox *qMessageBox;

.c 构造函数中的文件我执行以下操作

qMessageBox = new(QMessageBox);
id = QFontDatabase::addApplicationFont("/usr/share/fonts/dejavu/DejaVuSansMono.ttf");
font = QFont(QFontDatabase::applicationFontFamilies(id).first());
font.setPointSize(8);
qMessageBox->setFont(font);

我输出一条消息:

    void StateBalanser::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
    qMessageBox->information(this,"информация о состоянии","номер");
}

当我显示消息时,我看到文本没有改变。

c++
  • 1 个回答
  • 10 Views
Martin Hope
zhilenkov
Asked: 2022-02-10 20:03:04 +0000 UTC

如何在“QGraphicsScene”图形场景中的“Item”对象上生成触摸事件

  • 1

我有一个图形场景“QGraphicsScene”,我在上面绘制了控件的状态(可以说是视觉控制),为了清晰起见,我附上了一张图片。单个控件的状态表示为带有边框的框(请注意带有数字“000”的框)。框架的颜色和正方形的内部是不同的。根据配色方案,您可以确定控件处于什么状态。控制元件可以理解为继电器。封闭开放。或者温度传感器。在我画的场景中,方格变小了,爬进“帮助”看看某个控件的配色方案是什么意思不是很方便。因此,我想添加调用带有控件状态描述的弹出窗口的功能。但我不知道该怎么做。这就是为什么我问有知识的人。我马上就说电脑在臂芯上刹车。Qt 4.7.8。

正如我看到的解决方案,但我不知道如何在 qt 中做到这一点:

1. 有必要生成一个事件(调用一个方法,一个向量),在该事件中我会收到关于用户想知道哪个方格的信息,比如“事件(数字矩形)”我可能会弄错。通过数字 rect 我将引用包含有关对象信息的数据结构。2. 在屏幕中央绘制一个带有对象信息的浮动窗口。3. 单击“确定”按钮(“确定”按钮位于弹出窗口上),关闭弹出窗口。

我想就是这样。方形元素不应在屏幕上移动。

做了什么:在主 .c 构造函数中

       graphicsScene = new QGraphicsScene(this);
   for (int i = 0; i < 256; i++) {
      statebalanser = new StateBalanser(i);
      statebalanser->setPos((i * 54) % 540, (i / 10) * 42);
      graphicsScene->addItem(statebalanser);
   }
   graphicsScene->setSceneRect(-4,-4,544,1104);
   ui->graphicsView->setAlignment(Qt::AlignLeft);
   ui->graphicsView->setInteractive(true);
   ui->graphicsView->setResizeAnchor(QGraphicsView::NoAnchor);
   ui->graphicsView->setTransformationAnchor(QGraphicsView::NoAnchor);
   ui->graphicsView->setViewportUpdateMode(QGraphicsView::SmartViewportUpdate);
   ui->graphicsView->setOptimizationFlag(QGraphicsView::DontSavePainterState, true);
   ui->graphicsView->setCacheMode(QGraphicsView::CacheBackground);
   ui->graphicsView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
   ui->graphicsView->setFrameShape(QFrame::NoFrame);
   ui->graphicsView->setScene(graphicsScene);

状态平衡器.h

    #ifndef STATEBALANSER_H
#define STATEBALANSER_H
#include <QGraphicsRectItem>
#include <QPainter>
#include <memorymap.h>
#include <QFont>
#include <QFontDatabase>
#include <QDateTime>
#include <QDebug>

class StateBalanser : public QGraphicsRectItem
{
public:
    StateBalanser(int num);

public:
    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);

    void StateBalance();

    void setColorState(unsigned char value_1, unsigned char value_2);

    void setColorText(QColor text);

    void setFontText(QFont fontText);

private:
    int number;

private:
    QPainterPath _painterPath;

    QRectF _intersect;

    QColor _fillColorState;

    QColor _fillColorModeWork;

    QColor _fillColorText;

    QFont  _fontText;

    QString numberRect;

public:
    QRectF boundingRect() const;

    QPainterPath shape() const;
};

#endif // STATEBALANSER_H

状态平衡器.c

    #include "statebalanser.h"

StateBalanser::StateBalanser(int num) :
    number(num)
{
    setColorState(DisabledBalancer,StateDisabled);

    StateBalanser::StateBalance();

    StateBalanser::setColorText(Qt::black);

    int id = QFontDatabase::addApplicationFont("/usr/share/fonts/liquidcr.ttf");

    QFont font = QFont(QFontDatabase::applicationFontFamilies(id).first());

    font.setPointSize(12);

    StateBalanser::setFontText(font);

    _painterPath = shape();

    numberRect = QString().sprintf("%03d", number + 1);
}


void StateBalanser::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
    painter->fillRect(boundingRect(), _fillColorModeWork);

    painter->fillRect(_intersect, _fillColorState);

    painter->drawPath(_painterPath);

    painter->setFont(_fontText);

    painter->drawText(boundingRect(), Qt::AlignCenter, numberRect );
}


void StateBalanser::StateBalance()
{
  _intersect = boundingRect().intersected(QRectF(3, 3, 44, 32));
}


void StateBalanser::setColorState(unsigned char value_1, unsigned char value_2)
{ 
   switch(value_2)
   {
   case StopBalancer :        _fillColorModeWork =  QColor("#000000") ;
      break;

   case ChargeBalancer :      _fillColorModeWork =  QColor("#0000ff") ;
      break;

   case DischargeBalancer :   _fillColorModeWork =  QColor("#ff0000") ;
      break;

   case EsrBalancer :         _fillColorModeWork =  QColor("#32CD32") ;
     break;

   case DisconnectBalancer :  _fillColorModeWork =  QColor("#000000") ;
      break;

   case DisabledBalancer :    _fillColorModeWork =  QColor("#ffffff") ;
      break;

   default :                  _fillColorModeWork =  QColor("#ffffff") ;
      break;
   }

   switch(value_1)
   {
   case StateGood :      _fillColorState =  QColor("#99FF99") ;
      break;

  case  StateFiftyFifty: _fillColorState =  QColor("#FFFF66") ;
     break;

  case StateFault :      _fillColorState =  QColor("#FF9999")  ;
     break;

  case StateDisconnect:  _fillColorState =  QColor("#999999") ;
     break;

  case StateMeasurement: _fillColorState =  QColor("#a2c8d6") ;
     break;

  case StateDisabled:    _fillColorState =  QColor("#ffffff") ;
      break;

  default :              _fillColorState =  QColor("#ffffff") ;
      break;
   }
}


void StateBalanser::setColorText(QColor text)
{
    _fillColorText =  QColor(text);
}


void StateBalanser::setFontText(QFont fontText)
{
    _fontText = fontText;
}


QRectF StateBalanser::boundingRect() const
{
   return QRectF(0, 0, 49, 37);
}


QPainterPath StateBalanser::shape() const
{
    QPainterPath path;

    path.addRect(boundingRect());

    return path;
}

这是窗口的视图: 在此处输入图像描述

图形场景的视图。

c++
  • 1 个回答
  • 10 Views
Martin Hope
zhilenkov
Asked: 2022-01-28 20:00:59 +0000 UTC

如何理解 const 变量在闪存或 RAM 区域中的位置

  • 0

写了一个这样的结构:

typedef struct {
    const char name[20];
    const char textExtension[4];
    const uint32_t size;
    const uint32_t date;
    const uint32_t time;
    const uint32_t adrr;
    const uint32_t crc;
    const uint32_t reserve[5];
} headerFileList[256];

所有 const 变量。据我了解,它们应该只放在闪存中,但是您如何确保它们保证在那里?我只需要读取结构字段数据,不需要在那里写任何东西。

c
  • 2 个回答
  • 10 Views
Martin Hope
zhilenkov
Asked: 2022-01-27 22:29:58 +0000 UTC

数据结构如何位于特定地址?

  • 1

我有一个像 typedef struct { Int a; 这样的结构。浮动 b; 我怎样才能把它放在内存中的某个地方。我认为您需要为此使用属性。

c
  • 1 个回答
  • 10 Views
Martin Hope
zhilenkov
Asked: 2022-01-26 17:01:07 +0000 UTC

检查 NAN 上的浮点数和 C 上的 INFINITY

  • -1

如何正确检查 NAN 上的浮点数和 si 上的 INFINITY?是这样的吗:

   if(res == NAN || res == -NAN)
   {
   res = 0;
   }
   if(res == INFINITY)
   {
   res = FLT_MAX;
   }
   if(res == -INFINITY)
   {
   res = -FLT_MAX;
   }

其中 res 是一个浮点数。

c
  • 1 个回答
  • 10 Views
Martin Hope
zhilenkov
Asked: 2022-01-26 11:04:27 +0000 UTC

如何从 C 函数返回不同类型的“int、float”变量?

  • 1

我有一个函数'popStack',它应该根据浮点或整数的类型返回。

float popStack(void);
int popStack(void);

int - 4 个字节;浮动 - 4 个字节;

c
  • 3 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5