fix:修正Linux下wxDateTime初始化问题。
This commit is contained in:
parent
1476e9ba49
commit
7bf936fa8f
@ -41,8 +41,8 @@ FrameBuffer* Communicate::ParseBuffer(MutBuffer& buffer)
|
||||
|
||||
frame = new FrameBuffer();
|
||||
frame->len = dataLen;
|
||||
frame->fid = std::string(buffer.GetData() + find + sizeof(gHeader) + sizeof(uint16_t), 32);
|
||||
frame->tid = std::string(buffer.GetData() + find + sizeof(gHeader) + sizeof(uint16_t) + 32, 32);
|
||||
frame->fid = std::string(buffer.GetData() + find + sizeof(gHeader) + sizeof(uint16_t));
|
||||
frame->tid = std::string(buffer.GetData() + find + sizeof(gHeader) + sizeof(uint16_t) + 32);
|
||||
std::memcpy(&frame->dataType, buffer.GetData() + find + sizeof(gHeader), sizeof(frame->dataType));
|
||||
|
||||
if (frame->len > 0) {
|
||||
@ -70,10 +70,11 @@ bool Communicate::PackBuffer(FrameBuffer* frame, char** buf, int32_t& len)
|
||||
}
|
||||
len = sizeof(gHeader) + sizeof(uint16_t) + 64 + sizeof(len) + frame->len + sizeof(gTail);
|
||||
*buf = new char[len];
|
||||
std::memset(*buf + sizeof(gHeader) + sizeof(uint16_t), 0x0, 64);
|
||||
std::memcpy(*buf, gHeader, sizeof(gHeader));
|
||||
std::memcpy(*buf + sizeof(gHeader), &frame->dataType, sizeof(frame->dataType));
|
||||
std::memcpy(*buf + sizeof(gHeader) + sizeof(uint16_t), frame->fid.c_str(), 32);
|
||||
std::memcpy(*buf + sizeof(gHeader) + sizeof(uint16_t) + 32, frame->tid.c_str(), 32);
|
||||
std::memcpy(*buf + sizeof(gHeader) + sizeof(uint16_t), frame->fid.c_str(), frame->fid.size());
|
||||
std::memcpy(*buf + sizeof(gHeader) + sizeof(uint16_t) + 32, frame->tid.c_str(), frame->tid.size());
|
||||
std::memcpy(*buf + sizeof(gHeader) + sizeof(uint16_t) + 64, &frame->len, sizeof(frame->len));
|
||||
if (frame->len > 0) {
|
||||
std::memcpy(*buf + sizeof(gHeader) + sizeof(uint16_t) + 64 + sizeof(len), dataPtr, frame->len);
|
||||
|
@ -84,6 +84,7 @@ void test3()
|
||||
}
|
||||
delete[] d;
|
||||
}
|
||||
delete f;
|
||||
}
|
||||
|
||||
int main()
|
||||
|
@ -18,8 +18,7 @@ class MLogFormatter : public wxLogFormatter
|
||||
public:
|
||||
wxString Format(wxLogLevel level, const wxString& msg, const wxLogRecordInfo& info) const override
|
||||
{
|
||||
//wxDateTime time(info.timestampMS / 1000);
|
||||
wxDateTime time;
|
||||
wxDateTime time(static_cast<time_t>(info.timestampMS / 1000));
|
||||
time.SetMillisecond(info.timestampMS % 1000);
|
||||
auto timeStr = time.Format(wxT("%H:%M:%S.%l"));
|
||||
wxString levelStr;
|
||||
|
Loading…
x
Reference in New Issue
Block a user