diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 0000000..14ca6b9 --- /dev/null +++ b/.clang-tidy @@ -0,0 +1,136 @@ +Checks: '-*, + clang-*, + + google-build-explicit-make-pair, + google-build-namespaces, + google-default-arguments, + google-explicit-constructor, + google-readability-avoid-underscore-in-googletest-name, + google-runtime-int, + google-runtime-operator, + + readability-non-const-parameter, + readability-avoid-const-params-in-decls, + readability-const-return-type, + readability-container-size-empty, + readability-convert-member-functions-to-static, + readability-delete-null-pointer, + readability-deleted-default, + readability-make-member-function-const, + readability-misplaced-array-index, + readability-qualified-auto, + readability-redundant-control-flow, + readability-redundant-function-ptr-dereference, + readability-redundant-smartptr-get, + readability-redundant-string-cstr, + readability-static-definition-in-anonymous-namespace, + readability-string-compare, + readability-uniqueptr-delete-release, + readability-redundant-member-init, + readability-simplify-subscript-expr, + readability-simplify-boolean-expr, + readability-inconsistent-declaration-parameter-name, + + cert-dcl21-cpp, + cert-dcl50-cpp, + cert-env33-c, + cert-err34-c, + cert-err52-cpp, + cert-flp30-c, + cert-mem57-cpp, + cert-msc50-cpp, + cert-oop58-cpp, + + modernize-avoid-bind, + modernize-deprecated-headers, + modernize-loop-convert, + modernize-make-shared, + modernize-make-unique, + modernize-pass-by-value, + modernize-raw-string-literal, + modernize-redundant-void-arg, + modernize-replace-auto-ptr, + modernize-shrink-to-fit, + modernize-use-bool-literals, + modernize-use-emplace, + modernize-use-equals-delete, + modernize-use-nullptr, + modernize-use-override, + + cppcoreguidelines-pro-type-reinterpret-cast, + -cppcoreguidelines-narrowing-conversions, + cppcoreguidelines-pro-type-member-init, + + misc-unconventional-assign-operator, + -misc-unused-parameters, + misc-throw-by-value-catch-by-reference, + misc-misplaced-const, + misc-redundant-expression, + misc-static-assert, + misc-uniqueptr-reset-release, + -misc-unused-alias-decls, + -misc-unused-using-decls, + + bugprone-undelegated-constructor, + bugprone-macro-parentheses, + bugprone-macro-repeated-side-effects, + bugprone-forward-declaration-namespace, + bugprone-bool-pointer-implicit-conversion, + bugprone-misplaced-widening-cast, + bugprone-argument-comment, + bugprone-bad-signal-to-kill-thread, + bugprone-copy-constructor-init, + bugprone-dangling-handle, + bugprone-fold-init-type, + bugprone-inaccurate-erase, + bugprone-incorrect-roundings, + bugprone-integer-division, + bugprone-misplaced-operator-in-strlen-in-alloc, + bugprone-misplaced-pointer-arithmetic-in-alloc, + bugprone-move-forwarding-reference, + bugprone-multiple-statement-macro, + bugprone-parent-virtual-call, + bugprone-posix-return, + bugprone-reserved-identifier, + bugprone-signed-char-misuse, + bugprone-sizeof-container, + bugprone-sizeof-expression, + bugprone-string-constructor, + bugprone-string-integer-assignment, + bugprone-string-literal-with-embedded-nul, + bugprone-suspicious-enum-usage, + bugprone-suspicious-include, + bugprone-suspicious-memset-usage, + bugprone-suspicious-missing-comma, + bugprone-suspicious-string-compare, + bugprone-swapped-arguments, + bugprone-terminating-continue, + bugprone-throw-keyword-missing, + bugprone-too-small-loop-variable, + bugprone-undefined-memory-manipulation, + bugprone-unhandled-self-assignment, + bugprone-unused-raii, + bugprone-unused-return-value, + bugprone-use-after-move, + bugprone-virtual-near-miss, + + hicpp-exception-baseclass, + hicpp-ignored-remove-result, + hicpp-no-assembler, + hicpp-signed-bitwise, + + performance-faster-string-find, + performance-for-range-copy, + performance-implicit-conversion-in-loop, + performance-inefficient-algorithm, + performance-inefficient-vector-operation, + performance-move-constructor-init, + performance-no-automatic-move, + performance-trivially-destructible, + performance-unnecessary-copy-initialization, + + boost-use-to-string, + boost-use-ranges, +' + +WarningsAsErrors: '*' \ No newline at end of file diff --git a/.clangd b/.clangd index 11d6e06..41d163f 100644 --- a/.clangd +++ b/.clangd @@ -1,12 +1,9 @@ Hover: - ShowAKA: Yes + ShowAKA: true Diagnostics: - UnusedIncludes: None # 禁用未使用头文件提示 - Suppress: [ - anon_type_definition, # 禁用匿名的typedef提示 - unused-variable, # 禁用未使用变量提示 - unused-function, # 禁用未使用函数提示 - unused-includes, # 禁用未使用的头文件提示 - ] - ClangTidy: - Remove: misc-unused-alias-decls + UnusedIncludes: None # 禁用未使用头文件提示 + Suppress: + - anon_type_definition # 禁用匿名的typedef提示 + - unused-variable # 禁用未使用变量提示 + - unused-function # 禁用未使用函数提示 + - unused-includes # 禁用未使用的头文件提示 \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index e7a44fd..90f28b1 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -38,7 +38,6 @@ "--header-insertion=never", "--all-scopes-completion", "--completion-style=detailed", - "--clang-tidy", "-j=4", "--pch-storage=memory", "--compile-commands-dir=build", diff --git a/cexport/cdllexport.cpp b/cexport/cdllexport.cpp index aac7e62..adbee82 100644 --- a/cexport/cdllexport.cpp +++ b/cexport/cdllexport.cpp @@ -7,6 +7,8 @@ #include "../openaiclient.h" +static std::shared_ptr gc = nullptr; + class CApiDllExport { public: @@ -41,7 +43,6 @@ void CApiDllExport::init_exchange(ExchangeData* ex) void init_api(const char* ip, unsigned int port) { - } ExchangeData* ask_openai(const char* content) diff --git a/communicate.hpp b/communicate.hpp index 18f763e..3c6b0f0 100644 --- a/communicate.hpp +++ b/communicate.hpp @@ -25,7 +25,7 @@ struct FrameData { len = 0; delete[] data; } - FrameType type; + FrameType type{}; char* data{}; int len{}; int16_t protk{}; diff --git a/server/jsondata.h b/server/jsondata.h index 54771ab..2229d47 100644 --- a/server/jsondata.h +++ b/server/jsondata.h @@ -32,9 +32,9 @@ public: static std::string trim(const std::string& input); private: - std::string user_{}; - std::string model_{}; - std::string assistant_{}; + std::string user_; + std::string model_; + std::string assistant_; }; #endif