diff --git a/Config.cpp b/Config.cpp index 385e6be9..317a8490 100644 --- a/Config.cpp +++ b/Config.cpp @@ -389,7 +389,7 @@ const Config& Config::CreateRAM() ConfigBase::ConfigBase() : Cfg(*Config::Current) { - assert_ptr(&Cfg); + assert(&Cfg, "Cfg"); New = true; diff --git a/Core/Stream.cpp b/Core/Stream.cpp index 0c7326d7..52bd79f1 100644 --- a/Core/Stream.cpp +++ b/Core/Stream.cpp @@ -38,7 +38,7 @@ Stream::Stream(const Buffer& bs) void Stream::Init(void* buf, uint len) { - assert_ptr(buf); + assert(buf, "buf"); _Buffer = (byte*)buf; _Capacity = len; @@ -338,7 +338,6 @@ MemoryStream::MemoryStream(void* buf, uint len) : Stream(buf, len) // 销毁数据流 MemoryStream::~MemoryStream() { - assert_ptr(this); if(_needFree) { if(_Buffer != _Arr) delete[] _Buffer; diff --git a/Core/_Core.h b/Core/_Core.h index 73786614..03b57430 100644 --- a/Core/_Core.h +++ b/Core/_Core.h @@ -18,8 +18,8 @@ extern "C" #if defined(DEBUG) && defined(USE_FULL_ASSERT) -#define assert_ptr(expr) (assert_ptr_(expr) ? (void)0 : assert_failed2("ptr==nullptr", (const char*)__FILE__, __LINE__)) -bool assert_ptr_(const void* p); +//#define assert_ptr(expr) (assert_ptr_(expr) ? (void)0 : assert_failed2("ptr==nullptr", (const char*)__FILE__, __LINE__)) +//bool assert_ptr_(const void* p); void assert_failed2(const char* msg, const char* file, unsigned int line); #define assert(expr, msg) ((expr) ? (void)0 : assert_failed2(msg, (const char*)__FILE__, __LINE__)) diff --git a/Drivers/ShunCom.cpp b/Drivers/ShunCom.cpp index 57faf3b8..76aff69c 100644 --- a/Drivers/ShunCom.cpp +++ b/Drivers/ShunCom.cpp @@ -75,7 +75,7 @@ ShunCom::ShunCom() void ShunCom::Init(ITransport* port, Pin rst) { - assert_ptr(port); + assert(port, "port"); Set(port); //MaxSize = 82; diff --git a/Drivers/W5500.cpp b/Drivers/W5500.cpp index e6f845e7..81645ede 100644 --- a/Drivers/W5500.cpp +++ b/Drivers/W5500.cpp @@ -354,7 +354,7 @@ void W5500::Init() // 初始化 void W5500::Init(Spi* spi, Pin irq, Pin rst) { - assert_ptr(spi); + assert(spi, "spi"); debug_printf("\r\n"); diff --git a/Kernel/Sys.h b/Kernel/Sys.h index a14a83f6..fde4bd17 100644 --- a/Kernel/Sys.h +++ b/Kernel/Sys.h @@ -41,8 +41,8 @@ extern "C" // 验证确保对象不为空,并且在有效的内存范围内 //extern void assert_failed(uint8_t* file, uint32_t line); -#define assert_ptr(expr) (assert_ptr_(expr) ? (void)0 : assert_failed2("ptr==nullptr", (const char*)__FILE__, __LINE__)) -bool assert_ptr_(const void* p); +//#define assert_ptr(expr) (assert_ptr_(expr) ? (void)0 : assert_failed2("ptr==nullptr", (const char*)__FILE__, __LINE__)) +//bool assert_ptr_(const void* p); void assert_failed2(cstring msg, cstring file, unsigned int line); #define assert(expr, msg) ((expr) ? (void)0 : assert_failed2(msg, (const char*)__FILE__, __LINE__)) diff --git a/Kernel/Z_Debug.cpp b/Kernel/Z_Debug.cpp index 71985402..f9951ef0 100644 --- a/Kernel/Z_Debug.cpp +++ b/Kernel/Z_Debug.cpp @@ -114,8 +114,6 @@ void* operator new[](uint size) void operator delete(void* p) noexcept { - assert_ptr(p); - mem_printf(" delete 0x%p ", p); if(p) { @@ -126,8 +124,6 @@ void operator delete(void* p) noexcept void operator delete[](void* p) noexcept { - assert_ptr(p); - mem_printf(" delete[] 0x%p ", p); if(p) { diff --git a/Message/Controller.cpp b/Message/Controller.cpp index 5d43774f..512aa737 100644 --- a/Message/Controller.cpp +++ b/Message/Controller.cpp @@ -58,9 +58,6 @@ uint Controller::Dispatch(ITransport* port, Buffer& bs, void* param, void* param byte* buf = bs.GetBuffer(); uint len = bs.Length(); - assert_ptr(buf); - assert_ptr(param); - auto control = (Controller*)param; #if MSG_DEBUG @@ -91,7 +88,6 @@ uint Controller::Dispatch(ITransport* port, Buffer& bs, void* param, void* param } assert(control, "控制器指针已被改变3"); - assert_ptr(control); } return 0; diff --git a/Modbus/Modbus.cpp b/Modbus/Modbus.cpp index 55b4be8e..75af9493 100644 --- a/Modbus/Modbus.cpp +++ b/Modbus/Modbus.cpp @@ -16,7 +16,6 @@ bool Modbus::Read(Stream& ms) if(ms.Remain() < 4) return false; byte* buf = ms.Current(); - assert_ptr(buf); uint p = ms.Position(); Address = ms.ReadByte(); diff --git a/Modbus/Slave.cpp b/Modbus/Slave.cpp index 99d6fbd4..35d66793 100644 --- a/Modbus/Slave.cpp +++ b/Modbus/Slave.cpp @@ -15,9 +15,7 @@ Slave::~Slave() void Slave::OnReceive(ITransport* transport, byte* buf, uint len, void* param) { - assert_ptr(param); - - Slave* slave = (Slave*)param; + auto slave = (Slave*)param; Stream ms(buf, len); Modbus entity; diff --git a/Net/ITransport.cpp b/Net/ITransport.cpp index a9ebcbd2..a9e48af2 100644 --- a/Net/ITransport.cpp +++ b/Net/ITransport.cpp @@ -26,9 +26,6 @@ ITransport::~ITransport() // 打开传输口 bool ITransport::Open() { - // 特别是接口要检查this指针 - assert_ptr(this); - if(Opened || Opening) return true; Opening = true; @@ -43,9 +40,6 @@ bool ITransport::Open() // 关闭传输口 void ITransport::Close() { - // 特别是接口要检查this指针 - assert_ptr(this); - if(!Opened || Opening) return; Opening = true; @@ -57,9 +51,6 @@ void ITransport::Close() // 发送数据 bool ITransport::Write(const Buffer& bs) { - // 特别是接口要检查this指针 - assert_ptr(this); - if(!Opened && !Open()) return false; return OnWrite(bs); @@ -68,9 +59,6 @@ bool ITransport::Write(const Buffer& bs) // 发送数据 bool ITransport::Write(const Buffer& bs, const void* opt) { - // 特别是接口要检查this指针 - assert_ptr(this); - if(!Opened && !Open()) return false; return OnWriteEx(bs, opt); @@ -79,9 +67,6 @@ bool ITransport::Write(const Buffer& bs, const void* opt) // 接收数据 uint ITransport::Read(Buffer& bs) { - // 特别是接口要检查this指针 - assert_ptr(this); - if(!Opened && !Open()) return 0; return OnRead(bs); @@ -98,9 +83,6 @@ uint ITransport::Read(Buffer& bs) // 注册回调函数 void ITransport::Register(TransportHandler handler, void* param) { - // 特别是接口要检查this指针 - assert_ptr(this); - _handler = handler; _param = param; } @@ -149,8 +131,6 @@ uint PackPort::OnRead(Buffer& bs) { return Port->Read(bs); } uint PackPort::OnPortReceive(ITransport* sender, Buffer& bs, void* param, void* param2) { - assert_ptr(param); - auto pp = dynamic_cast((PackPort*)param); return pp->OnReceive(bs, param2); } diff --git a/Net/Zigbee.cpp b/Net/Zigbee.cpp index 2aecfefd..86bae18d 100644 --- a/Net/Zigbee.cpp +++ b/Net/Zigbee.cpp @@ -12,8 +12,6 @@ Zigbee::Zigbee(ITransport* port, Pin rst) void Zigbee::Init(ITransport* port, Pin rst) { - assert_ptr(port); - Set(port); MaxSize = 64; diff --git a/Platform/CortexM/Z_Debug.cpp b/Platform/CortexM/Z_Debug.cpp index 1bb48fc5..3b1d52ea 100644 --- a/Platform/CortexM/Z_Debug.cpp +++ b/Platform/CortexM/Z_Debug.cpp @@ -23,7 +23,7 @@ void assert_failed(uint8_t* file, unsigned int line) TInterrupt::Halt(); } -bool assert_ptr_(const void* p) +/*bool assert_ptr_(const void* p) { if((uint)p < FLASH_BASE) { @@ -54,7 +54,7 @@ bool assert_ptr_(const void* p) //if(p <= (void*)&__heap_base) return false; return true; -} +}*/ #endif #endif diff --git a/Test/MessageTest.cpp b/Test/MessageTest.cpp index d75088f7..04967d64 100644 --- a/Test/MessageTest.cpp +++ b/Test/MessageTest.cpp @@ -53,8 +53,7 @@ bool OpenLed(Message& msg, void* param) // 发送刷小灯的消息 void FlashLed(void* param) { - assert_ptr(param); - Controller* control = (Controller*)param; + auto control = (Controller*)param; // 发送广播消息,刷所有人小灯 TinyMessage msg(0x10); diff --git a/TinyIP/Icmp.cpp b/TinyIP/Icmp.cpp index 1993e678..c325dcbc 100644 --- a/TinyIP/Icmp.cpp +++ b/TinyIP/Icmp.cpp @@ -110,9 +110,6 @@ bool IcmpSocket::Process(IP_HEADER& ip, Stream& ms) // Ping目的地址,附带a~z重复的负载数据 bool IcmpSocket::Ping(IPAddress& ip, uint payloadLength) { - assert(this, "非法调用Icmp"); - assert_ptr(this); - byte buf[sizeof(ETH_HEADER) + sizeof(IP_HEADER) + sizeof(ICMP_HEADER) + 64]; // 注意,此时指针位于0,而内容长度为缓冲区长度 Stream ms(buf, ArrayLength(buf)); diff --git a/TinyIP/TinyIP.cpp b/TinyIP/TinyIP.cpp index 8eaba85c..0dfadcb6 100644 --- a/TinyIP/TinyIP.cpp +++ b/TinyIP/TinyIP.cpp @@ -285,11 +285,10 @@ bool TinyIP::SendIP(IP_TYPE type, const IPAddress& remote, const byte* buf, uint ip->Identifier = _REV16(g_Identifier++); // 网络序是大端 - ip->Checksum = 0; - ip->Checksum = _REV16(CheckSum(nullptr, (byte*)ip, sizeof(IP_HEADER), 0)); + ip->Checksum = 0; + ip->Checksum = _REV16(CheckSum(nullptr, (byte*)ip, sizeof(IP_HEADER), 0)); - assert_ptr(Arp); - ArpSocket* arp = (ArpSocket*)Arp; + auto arp = (ArpSocket*)Arp; MacAddress mac; if(!arp->Resolve(remote, mac)) { diff --git a/TinyNet/TinyClient.cpp b/TinyNet/TinyClient.cpp index 0a5e9084..a3e6ee66 100644 --- a/TinyNet/TinyClient.cpp +++ b/TinyNet/TinyClient.cpp @@ -17,8 +17,6 @@ static void TinyClientTask(void* param); TinyClient::TinyClient(TinyController* control) { - assert_ptr(control); - Control = control; Control->GetKey = Delegate2(&TinyClient::GetDeviceKey, this); @@ -266,8 +264,6 @@ void TinyClient::ReportAsync(uint offset,uint length) void TinyClientTask(void* param) { - assert_ptr(param); - auto client = (TinyClient*)param; uint offset = client->NextReport; uint len = client->ReportLength; diff --git a/TinyNet/TinyController.cpp b/TinyNet/TinyController.cpp index cb57b7d9..a7e60e1c 100644 --- a/TinyNet/TinyController.cpp +++ b/TinyNet/TinyController.cpp @@ -521,8 +521,6 @@ bool TinyController::Post(const TinyMessage& msg, int msTimeout) void SendTask(void* param) { - assert_ptr(param); - auto control = (TinyController*)param; control->Loop(); } @@ -631,14 +629,6 @@ void TinyController::Loop() if(count == 0) Sys.SetTask(_taskID, false); } -/*void StatTask(void* param) -{ - assert_ptr(param); - - auto control = (TinyController*)param; - control->ShowStat(); -}*/ - // 显示统计信息 void TinyController::ShowStat() const { diff --git a/TinyNet/TinyMessage.cpp b/TinyNet/TinyMessage.cpp index fd5e91f1..b756e1e6 100644 --- a/TinyNet/TinyMessage.cpp +++ b/TinyNet/TinyMessage.cpp @@ -158,8 +158,6 @@ uint TinyMessage::MaxDataSize() const void TinyMessage::Show() const { #if MSG_DEBUG - assert_ptr(this); - byte flag = *((byte*)&_Code + 1); msg_printf("0x%02X => 0x%02X Code=0x%02X Flag=0x%02X Seq=0x%02X Retry=%d", Src, Dest, Code, flag, Seq, Retry); @@ -174,7 +172,6 @@ void TinyMessage::Show() const ushort len = Length; if(len > 0) { - assert_ptr(Data); msg_printf(" Data[%02d]=", len); ByteArray(Data, len).Show(); } diff --git a/TinyNet/TinyServer.cpp b/TinyNet/TinyServer.cpp index 733d811f..fe8aca46 100644 --- a/TinyNet/TinyServer.cpp +++ b/TinyNet/TinyServer.cpp @@ -50,15 +50,6 @@ bool TinyServer::Send(Message& msg) const return Control->Send(msg); } -/*bool OnServerReceived(void* sender, Message& msg, void* param) -{ - auto server = (TinyServer*)param; - assert_ptr(server); - - // 消息转发 - return server->OnReceive((TinyMessage&)msg); -}*/ - // 常用系统级消息 void TinyServer::Start() diff --git a/TokenNet/TokenClient.cpp b/TokenNet/TokenClient.cpp index 852f0822..efc26c1d 100644 --- a/TokenNet/TokenClient.cpp +++ b/TokenNet/TokenClient.cpp @@ -218,7 +218,6 @@ void TokenClient::LoopTask() void BroadcastHelloTask(void* param) { TS("TokenClient::BroadcastHello"); - assert_ptr(param); auto client = (TokenClient*)param; client->SayHello(true); diff --git a/TokenNet/TokenController.cpp b/TokenNet/TokenController.cpp index bdb1a61b..b9d17595 100644 --- a/TokenNet/TokenController.cpp +++ b/TokenNet/TokenController.cpp @@ -569,7 +569,6 @@ void TokenStat::Clear() String& TokenStat::ToStr(String& str) const { TS("TokenStat::ToStr"); - assert_ptr(this); /*debug_printf("this=0x%08X _Last=0x%08X _Total=0x%08X ", this, _Last, _Total); Percent().Show(true);*/ diff --git a/TokenNet/TokenMessage.cpp b/TokenNet/TokenMessage.cpp index 9a621fa5..f8ce79e1 100644 --- a/TokenNet/TokenMessage.cpp +++ b/TokenNet/TokenMessage.cpp @@ -23,7 +23,6 @@ bool TokenMessage::Read(Stream& ms) { TS("TokenMessage::Read"); - assert_ptr(this); if(ms.Remain() < MinSize) return false; byte temp = ms.ReadByte(); @@ -60,7 +59,6 @@ void TokenMessage::Write(Stream& ms) const { TS("TokenMessage::Write"); - assert_ptr(this); byte tmp = Code | (Reply << 7); if((!Reply && OneWay) || (Reply && Error)) tmp |= (1 << 6); ms.Write(tmp); @@ -102,8 +100,6 @@ void TokenMessage::Show() const #if MSG_DEBUG TS("TokenMessage::Show"); - assert_ptr(this); - byte code = Code; if(Reply) code |= 0x80; if((!Reply && OneWay) || (Reply && Error)) code |= (1 << 6); @@ -128,7 +124,6 @@ void TokenMessage::Show() const ushort len = Length; if(len > 0) { - assert_ptr(Data); debug_printf(" Data[%d]=",len); // 大于32字节时,反正都要换行显示,干脆一开始就换行,让它对齐 //if(len > 32) debug_printf("\r\n"); diff --git a/XX/SmartPtr.cpp b/XX/SmartPtr.cpp index 0c03d2a1..2f4e1f69 100644 --- a/XX/SmartPtr.cpp +++ b/XX/SmartPtr.cpp @@ -17,18 +17,13 @@ public: // 为某个指针封装 SmartPtr::SmartPtr(void* ptr) { - assert_ptr(ptr); - _ptr = new WrapPtr(ptr); } // 拷贝智能指针。仅拷贝内部包装,然后引用计数加一 SmartPtr::SmartPtr(const SmartPtr& ptr) { - assert_ptr(ptr._ptr); - auto p = (WrapPtr*)ptr._ptr; - assert_ptr(p->Ptr); _ptr = p; p->Count++;