⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 linsolver_dll.cpp

📁 《MATLAB实用指南》系列丛书源代码。
💻 CPP
字号:
#include "mwcomtypes.h"
#include "mclcommain.h"
#include "linsolver_com.hpp"
#include "linsolver_idl_i.c"
#include "mwcomutil_i.c"
#include "mwcomtypes_i.c"



#ifdef __cplusplus
extern "C" {
#endif
extern const unsigned char __MCC_LinSolver_public_data[];
extern const char *__MCC_LinSolver_name_data;
extern const char *__MCC_LinSolver_root_data;
extern const unsigned char __MCC_LinSolver_session_data[];
extern const char *__MCC_LinSolver_matlabpath_data[];
extern const int __MCC_LinSolver_matlabpath_data_count;
extern const char *__MCC_LinSolver_classpath_data[];
extern const int __MCC_LinSolver_classpath_data_count;
extern const char *__MCC_LinSolver_mcr_runtime_options[];
extern const int __MCC_LinSolver_mcr_runtime_option_count;
extern const char *__MCC_LinSolver_mcr_application_options[];
extern const int __MCC_LinSolver_mcr_application_option_count;
#ifdef __cplusplus
}
#endif


static bool _mcr_initialize_fcn(HMCRINSTANCE* inst, const char* path_to_component)
{
    return mclInitializeComponentInstance(inst, __MCC_LinSolver_public_data,
                                          __MCC_LinSolver_name_data,
                                          __MCC_LinSolver_root_data,
                                          __MCC_LinSolver_session_data,
                                          __MCC_LinSolver_matlabpath_data,
                                          __MCC_LinSolver_matlabpath_data_count,
                                          __MCC_LinSolver_classpath_data,
                                          __MCC_LinSolver_classpath_data_count,
                                          __MCC_LinSolver_mcr_runtime_options,
                                          __MCC_LinSolver_mcr_runtime_option_count,
                                          true, COMObject, LibTarget,
                                          path_to_component, NULL, NULL);
}
static bool _mcr_terminate_fcn(HMCRINSTANCE* inst)
{
    return mclTerminateInstance(inst);
}
static CMCLModule g_Module(_mcr_initialize_fcn, _mcr_terminate_fcn);
CMCLModule* g_pModule = &g_Module;

static _MCLOBJECT_MAP_ENTRY objectmap[] = 
{
    {
        &CLSID_LinSolver, CLinSolver::RegisterClass,
        CLinSolver::UnregisterClass, CLinSolver::GetClassObject,
        "LinSolver", "LinSolver.LinSolver", "LinSolver.LinSolver.1_0"
    },
    {
        NULL, NULL, NULL, NULL, "", "", ""
    }
};

extern "C" { 

BOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, void *pv )
{
    return g_pModule->InitMain(objectmap, &LIBID_LinSolver, 1,
                               0, hInstance, dwReason, pv);
}

HRESULT __stdcall DllCanUnloadNow()
{
    return (g_pModule->GetLockCount()==0) ? S_OK : S_FALSE;
}

HRESULT __stdcall DllGetClassObject(REFCLSID clsid, REFIID iid, void **ppv )
{
    return g_pModule->GetClassObject( clsid, iid, ppv );
}

HRESULT __stdcall DllRegisterServer()
{
    return g_pModule->UpdateRegistry( TRUE );
}

HRESULT __stdcall DllUnregisterServer()
{
    return g_pModule->UpdateRegistry( FALSE );
}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -