调整C++ 代码

This commit is contained in:
DevWiki 2024-05-28 19:32:20 +08:00
parent de31b79465
commit 1ee0ec29b7
13 changed files with 62 additions and 23 deletions

View File

@ -20,7 +20,10 @@ ELSE()
ENDIF() ENDIF()
# #
add_library(${PROJECT_NAME} ${STATIC_OR_SHARED} library.cpp) add_library(${PROJECT_NAME} ${STATIC_OR_SHARED}
Calculate.cpp
CalculateInfo.h
)
# #
if(EX_PLATFORM EQUAL 32) if(EX_PLATFORM EQUAL 32)

View File

@ -1,4 +1,4 @@
#include "library.h" #include "Calculate.h"
#include <iostream> #include <iostream>

View File

@ -2,12 +2,7 @@
#define CPPLIB_LIBRARY_H #define CPPLIB_LIBRARY_H
#include <string> #include <string>
#include "CalculateInfo.h"
struct CalculateInfo {
std::string name;
std::string versionName;
int versionCode;
};
class Calculate { class Calculate {
public: public:

View File

@ -1,11 +1,11 @@
// //
// Created on 2024/4/22. // Created on 2024/5/28.
// //
// Node APIs are not fully supported. To solve the compilation error of the interface cannot be found, // Node APIs are not fully supported. To solve the compilation error of the interface cannot be found,
// please include "napi/native_api.h". // please include "napi/native_api.h".
#ifndef HM4DEMO_CALCULATE_H #ifndef HM4DEMO_CALCULATEINFO_H
#define HM4DEMO_CALCULATE_H #define HM4DEMO_CALCULATEINFO_H
#include <string> #include <string>
struct CalculateInfo { struct CalculateInfo {
@ -14,10 +14,4 @@ struct CalculateInfo {
int versionCode; int versionCode;
}; };
class Calculate { #endif //HM4DEMO_CALCULATEINFO_H
public:
static Calculate& getInstance();
int add(int a, int b);
CalculateInfo getInfo();
};
#endif //HM4DEMO_CALCULATE_H

Binary file not shown.

View File

@ -1 +1 @@
export {} from './src/main/cpp/types/libnatvie_lib/index' export { CalculateAdapter } from './src/main/cpp/types/libnatvie_lib/index'

View File

@ -11,6 +11,9 @@ endif()
include_directories(${NATIVERENDER_ROOT_PATH} include_directories(${NATIVERENDER_ROOT_PATH}
${NATIVERENDER_ROOT_PATH}/include) ${NATIVERENDER_ROOT_PATH}/include)
add_library(native_lib SHARED napi_init.cpp) add_library(native_lib SHARED
napi_init.cpp
CalculateInfo.h
CalculateAdaptor.cpp)
target_link_libraries(native_lib PUBLIC ../../../../cppLib/dist/lib/arm64-v8a/libcalculate.so) target_link_libraries(native_lib PUBLIC ../../../../cppLib/dist/lib/arm64-v8a/libcalculate.so)

View File

@ -0,0 +1,25 @@
#ifndef CPPLIB_LIBRARY_H
#define CPPLIB_LIBRARY_H
#include <string>
#include "CalculateInfo.h"
class Calculate {
public:
static Calculate& getInstance();
int add(int a, int b);
CalculateInfo getInfo();
// 删除拷贝构造函数和赋值运算符
Calculate(const Calculate&) = delete;
Calculate& operator=(const Calculate&) = delete;
private:
// 构造函数和析构函数私有化
Calculate() {}
~Calculate() {}
};
#endif //CPPLIB_LIBRARY_H

View File

@ -5,7 +5,8 @@
// please include "napi/native_api.h". // please include "napi/native_api.h".
#include "CalculateAdaptor.h" #include "CalculateAdaptor.h"
#include "library.h" #include "Calculate.h"
#include "CalculateInfo.h"
CalculateAdaptor::CalculateAdaptor() { CalculateAdaptor::CalculateAdaptor() {
_calculate = &Calculate::getInstance(); _calculate = &Calculate::getInstance();

View File

@ -7,7 +7,8 @@
#ifndef HM4DEMO_CALCULATOR_H #ifndef HM4DEMO_CALCULATOR_H
#define HM4DEMO_CALCULATOR_H #define HM4DEMO_CALCULATOR_H
#include "library.h" #include "CalculateInfo.h"
#include "Calculate.h"
#include "js_native_api.h" #include "js_native_api.h"
class CalculateAdaptor { class CalculateAdaptor {

View File

@ -0,0 +1,17 @@
//
// Created on 2024/5/28.
//
// Node APIs are not fully supported. To solve the compilation error of the interface cannot be found,
// please include "napi/native_api.h".
#ifndef HM4DEMO_CALCULATEINFO_H
#define HM4DEMO_CALCULATEINFO_H
#include <string>
struct CalculateInfo {
std::string name;
std::string versionName;
int versionCode;
};
#endif //HM4DEMO_CALCULATEINFO_H

View File

@ -1,5 +1,5 @@
import { CalculateAdapter } from 'native_lib.so' import { CalculateAdapter } from 'native_lib.so'
import { CalculateInfo } from './CalculateDefine' import { CalculateInfo } from './CalculateInfo'
export class Calculator { export class Calculator {