From deefe0656b4072736173044a698dadf5634400bf Mon Sep 17 00:00:00 2001 From: huaqingsimeng Date: Tue, 10 Oct 2023 15:12:53 +0800 Subject: [PATCH] =?UTF-8?q?static=20inline=20=E6=B5=8B=E8=AF=95=E9=AA=8C?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: huaqingsimeng --- tools/backup_tool/include/tools_op.h | 11 +++++++++++ tools/backup_tool/src/main.cpp | 5 +++++ tools/backup_tool/src/tools_op.cpp | 8 ++++++-- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/tools/backup_tool/include/tools_op.h b/tools/backup_tool/include/tools_op.h index 79b063c1e..cac2cb99e 100644 --- a/tools/backup_tool/include/tools_op.h +++ b/tools/backup_tool/include/tools_op.h @@ -83,6 +83,14 @@ public: */ static const std::vector &GetAllOperations() { + printf("num_ = %d , address = %lld \n", ToolsOp::num_, (long long)&ToolsOp::num_); + printf("vec_ size: %d , address = %lld \n", ToolsOp::vec_.size(), (long long)&ToolsOp::vec_); + printf("opsAvailable_ size: %d , address = %lld \n", ToolsOp::opsAvailable_.size(), + (long long)&ToolsOp::opsAvailable_); + for (int i = 0; i < num_; i++) { + printf("number_[%d] = %d ", i, number_[i]); + } + printf("\n"); return ToolsOp::opsAvailable_; } @@ -114,6 +122,9 @@ public: private: Descriptor desc_; + static inline int num_; + static inline int number_[100]; + static inline std::vector vec_; static inline std::vector opsAvailable_; }; } // namespace OHOS::FileManagement::Backup diff --git a/tools/backup_tool/src/main.cpp b/tools/backup_tool/src/main.cpp index fbc64eaf5..fc1fb9d61 100644 --- a/tools/backup_tool/src/main.cpp +++ b/tools/backup_tool/src/main.cpp @@ -23,6 +23,7 @@ #include #include #include +#include namespace OHOS::FileManagement::Backup { using namespace std; @@ -66,11 +67,13 @@ optional>> GetArgsMap(int argc, char *const argv[], c int ParseOpAndExecute(const int argc, char *const argv[]) { + printf("argc = %d\n", argc); int flag = -1; for (int i = 1; i < argc; i++) { // 暂存 {argv[1]...argv[i]}; vector curOp; for (int j = 1; j <= i; ++j) { + printf("argv[%d] = %s\n", j, argv[j]); curOp.emplace_back(argv[j]); } @@ -95,5 +98,7 @@ int ParseOpAndExecute(const int argc, char *const argv[]) int main(int argc, char *const argv[]) { + printf("begin main\n"); + OHOS::FileManagement::Backup::ToolsOp::GetAllOperations(); return OHOS::FileManagement::Backup::ParseOpAndExecute(argc, argv); } diff --git a/tools/backup_tool/src/tools_op.cpp b/tools/backup_tool/src/tools_op.cpp index 782de8c2a..91037ae22 100644 --- a/tools/backup_tool/src/tools_op.cpp +++ b/tools/backup_tool/src/tools_op.cpp @@ -46,10 +46,11 @@ bool ToolsOp::Register(ToolsOp &&op) }; for (auto subOp : opName) { + printf("subOp: %s\n", subOp.data()); for (auto pattern : patterns) { std::regex re(pattern); if (std::regex_search(string(subOp), re)) { - fprintf(stderr, "Sub-op '%s' failed to pass regex '%s'\n", subOp.data(), pattern.c_str()); + printf("Sub-op '%s' failed to pass regex '%s'\n", subOp.data(), pattern.c_str()); return true; } } @@ -58,7 +59,7 @@ bool ToolsOp::Register(ToolsOp &&op) return false; }; if (std::any_of(opName.begin(), opName.end(), isIncorrect)) { - fprintf(stderr, "Failed to register an illegal operation '%s'\n", op.GetName().c_str()); + printf("Failed to register an illegal operation '%s'\n", op.GetName().c_str()); return false; } @@ -68,6 +69,9 @@ bool ToolsOp::Register(ToolsOp &&op) std::sort(opsAvailable_.begin(), opsAvailable_.end(), [](const ToolsOp &lop, const ToolsOp &rop) { return lop.desc_.opName < rop.desc_.opName; }); + ToolsOp::vec_.emplace_back(++ToolsOp::num_); + ToolsOp::number_[ToolsOp::num_] = ToolsOp::num_; + ToolsOp::GetAllOperations(); return true; } -- Gitee