mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-16 01:40:46 +08:00
style. 使用宏优化编码
This commit is contained in:
@@ -31,3 +31,20 @@ ASST_DO_PRAGMA(GCC diagnostic pop)
|
||||
#define ASST_SUPPRESS_CV_WARNINGS_START
|
||||
#define ASST_SUPPRESS_CV_WARNINGS_END
|
||||
#endif
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define ASST_AUTO_DEDUCED_ZERO_INIT_START \
|
||||
ASST_DO_PRAGMA(GCC diagnostic push) \
|
||||
ASST_DO_PRAGMA(GCC diagnostic ignored "-Wmissing-field-initializers")
|
||||
#define ASST_AUTO_DEDUCED_ZERO_INIT_END \
|
||||
ASST_DO_PRAGMA(GCC diagnostic pop)
|
||||
#elif defined(__clang__)
|
||||
#define ASST_AUTO_DEDUCED_ZERO_INIT_START \
|
||||
ASST_DO_PRAGMA(clang diagnostic push) \
|
||||
ASST_DO_PRAGMA(clang diagnostic ignored "-Wmissing-field-initializers")
|
||||
#define ASST_AUTO_DEDUCED_ZERO_INIT_END \
|
||||
ASST_DO_PRAGMA(clang diagnostic pop)
|
||||
#else
|
||||
#define ASST_AUTO_DEDUCED_ZERO_INIT_START
|
||||
#define ASST_AUTO_DEDUCED_ZERO_INIT_END
|
||||
#endif
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "AsstConf.h"
|
||||
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
@@ -201,15 +203,9 @@ namespace asst::utils
|
||||
auto pipe_buffer = std::make_unique<char[]>(PipeBuffSize);
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
|
||||
#endif
|
||||
ASST_AUTO_DEDUCED_ZERO_INIT_START
|
||||
SECURITY_ATTRIBUTES pipe_sec_attr = { 0 };
|
||||
#ifdef __GNUC__
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
ASST_AUTO_DEDUCED_ZERO_INIT_END
|
||||
pipe_sec_attr.nLength = sizeof(SECURITY_ATTRIBUTES);
|
||||
pipe_sec_attr.lpSecurityDescriptor = nullptr;
|
||||
pipe_sec_attr.bInheritHandle = TRUE;
|
||||
@@ -217,28 +213,18 @@ namespace asst::utils
|
||||
HANDLE pipe_child_write = nullptr;
|
||||
CreatePipe(&pipe_read, &pipe_child_write, &pipe_sec_attr, PipeBuffSize);
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
|
||||
#endif
|
||||
ASST_AUTO_DEDUCED_ZERO_INIT_START
|
||||
STARTUPINFOA si = { 0 };
|
||||
#ifdef __GNUC__
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
ASST_AUTO_DEDUCED_ZERO_INIT_END
|
||||
si.cb = sizeof(STARTUPINFO);
|
||||
si.dwFlags = STARTF_USESTDHANDLES;
|
||||
si.wShowWindow = SW_HIDE;
|
||||
si.hStdOutput = pipe_child_write;
|
||||
si.hStdError = pipe_child_write;
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
|
||||
#endif
|
||||
ASST_AUTO_DEDUCED_ZERO_INIT_START
|
||||
PROCESS_INFORMATION pi = { nullptr };
|
||||
#ifdef __GNUC__
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
ASST_AUTO_DEDUCED_ZERO_INIT_END
|
||||
|
||||
BOOL p_ret = CreateProcessA(nullptr, const_cast<LPSTR>(cmdline.c_str()), nullptr, nullptr, TRUE, CREATE_NO_WINDOW, nullptr, nullptr, &si, &pi);
|
||||
if (p_ret) {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#include "AsstConf.h"
|
||||
#include "Controller.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
@@ -261,14 +262,9 @@ std::optional<std::vector<uchar>> asst::Controller::call_command(const std::stri
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
|
||||
#endif
|
||||
ASST_AUTO_DEDUCED_ZERO_INIT_START
|
||||
PROCESS_INFORMATION process_info = { nullptr }; // 进程信息结构体
|
||||
#ifdef __GNUC__
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
ASST_AUTO_DEDUCED_ZERO_INIT_END
|
||||
|
||||
BOOL create_ret = CreateProcessA(nullptr, const_cast<LPSTR>(cmd.c_str()), nullptr, nullptr, TRUE, CREATE_NO_WINDOW, nullptr, nullptr, &m_child_startup_info, &process_info);
|
||||
if (!create_ret) {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "AsstConf.h"
|
||||
|
||||
#include <optional>
|
||||
#include <random>
|
||||
#include <string>
|
||||
@@ -101,19 +103,14 @@ namespace asst
|
||||
HANDLE m_pipe_child_read = nullptr; // 子进程的读管道句柄
|
||||
HANDLE m_pipe_child_write = nullptr; // 子进程的写管道句柄
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
|
||||
#endif
|
||||
ASST_AUTO_DEDUCED_ZERO_INIT_START
|
||||
SECURITY_ATTRIBUTES m_pipe_sec_attr = { 0 }; // 管道安全描述符
|
||||
STARTUPINFOA m_child_startup_info = { 0 }; // 子进程启动信息
|
||||
|
||||
WSADATA m_wsa_data = { 0 };
|
||||
SOCKET m_server_sock = 0ULL;
|
||||
sockaddr_in m_server_addr = { 0 };
|
||||
#ifdef __GNUC__
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
ASST_AUTO_DEDUCED_ZERO_INIT_END
|
||||
|
||||
#else
|
||||
constexpr static int PIPE_READ = 0;
|
||||
|
||||
Reference in New Issue
Block a user