禁止代码块的编译警告

前言

结构内字节对齐时, 可以使用 pragma pack(push/pop) +pragma pack(1/2/4/8/16)
刚才试了一下,警告也可以push.

实验

#pragma warning(push)
#pragma warning(disable : 4290)

// 在vs2017中有警告
// warning C4290: 忽略 C++ 异常规范,但指示函数不是 __declspec(nothrow)
void* operator new(size_t size) throw(std::bad_alloc) {
  if (GOOGLE_NAMESPACE::g_new_hook) {
    GOOGLE_NAMESPACE::g_new_hook();
  }
  return malloc(size);
}

void* operator new[](size_t size) throw(std::bad_alloc) {
  return ::operator new(size);
}

void operator delete(void* p) throw() {
  free(p);
}

void operator delete[](void* p) throw() {
  ::operator delete(p);
}

#pragma warning(pop)

猜你喜欢

转载自blog.csdn.net/LostSpeed/article/details/82495561