抛弃GdCpp*.dll/pdb历史重新建库。libhv和Sqlite的dll保留

This commit is contained in:
Zhang Jianjun
2026-02-02 16:09:02 +08:00
parent f148ca49e3
commit 4a2a284ac0
292 changed files with 350450 additions and 0 deletions

62
include/sApp.h Normal file
View File

@@ -0,0 +1,62 @@
#pragma once
#include "GdCPP_Exports.h"
#include "IpHelper.h"
struct GDCPP_API sApp
{
// 当前执行文件的完整路径
fs::path ExeFullPath;
// 当前执行exe所在目录
fs::path ExeDir;
// Exe文件名可以根据不同名称执行不同的内容
std::wstring wstrExeName;
// 工作目录是Log、Setting目录的主目录
// 初始化默认等于ExeDir。
// 如果exe所在目录是Debug或ReleaseExeDir就上移一层到x64
// 应用层可以另外指定工作目录
fs::path WorkDir;
// 参数目录默认为WorkDir下的Setting。应用层可以另外指定
fs::path SettingDir;
// Log目录默认为WorkDir下的Log。应用层可以另外指定
fs::path LogDir;
// exe文件的版本
std::wstring exeFileVerStr;
std::wstring exeProductVerStr;
// exe的HINSTANCE
HINSTANCE hInstance_Exe=0;
CAdapterList NetAdapter;
// @brief 跟具体应用关系不大的常规初始操作与应用相关的放到init()。
// 初始化CTick获取exe路径设置工作目录、Log目录、Dump。在InitInstance()开头调用
// @return 是否有错。没错返回0已知错误
virtual int preInit();
// 与应用相关的初始化,每个应用相差很大,
// 继承类不需要调用sApp::init(),只是给个参考。
// 通常先调整工作目录初始化Log后面的操作都需要用到Log了
virtual int init();
virtual int deinit();
// 初始化gdi用到的变量
// 保存下来用于在deinit()里判断是否初始化过gdi
ULONG_PTR m_gdiplusToken=0;
// 初始化socket用到的变量
// 保存下来用于在deinit()里用判断是否初始化过socket
WSADATA wsaData={0,0};
void initGDI();
bool initSocket();
virtual void RestartWindows();
virtual void ShutdownWindows();
};