🛰️航天仿真算法库 SpaceAST
0.0.1
载入中...
搜索中...
未找到
FileSystem.hpp
浏览该文件的文档.
1
20
21
#pragma once
22
23
#include "AstGlobal.h"
24
#include "FileSystemSimple.hpp"
25
#include <string>
26
27
// 是否允许使用 std::experimental::filesystem 的c++实验特性,如果存在的话
28
// #define AST_USE_STD_FILESYSTEM_EXPERIMENTAL
29
30
// 判断 c++ 标准库是否有std::filesystem
31
#ifdef __cpp_lib_filesystem
32
# include <filesystem>
33
# define _A_STD_FILESYSTEM std::filesystem
34
#elif defined(__cplusplus) && __cplusplus >= 201703L
35
# include <filesystem>
36
# define _A_STD_FILESYSTEM std::filesystem
37
#elif defined AST_USE_STD_FILESYSTEM_EXPERIMENTAL
38
# define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING
39
# if defined _MSC_VER
40
# include <experimental/filesystem>
41
# define _A_STD_FILESYSTEM std::experimental::filesystem
42
# elif defined(__has_include) && __has_include(<experimental/filesystem>) && defined AST_USE_STD_FILESYSTEM_EXPERIMENTAL
43
# include <experimental/filesystem>
44
# define _A_STD_FILESYSTEM std::experimental::filesystem
45
# endif
46
#else
47
# undef _A_STD_FILESYSTEM
48
#endif
49
50
51
AST_NAMESPACE_BEGIN
52
53
60
// 如果 c++ 标准库没有 filesystem功能,则切换到ast项目对filesystem功能的简化实现
61
#if defined(_A_STD_FILESYSTEM) && defined(AST_USE_STD_FILESYSTEM)
62
// #pragma message("use std::filesystem")
63
namespace
filesystem = _A_STD_FILESYSTEM;
64
#else
65
// #pragma message("use ast::simple_fs")
66
namespace
filesystem = fs_simple;
67
#endif
68
69
namespace
fs = filesystem;
70
71
75
AST_UTIL_API std::string
aGetModulePathFromAddress
(
void
* addr);
76
79
AST_UTIL_API std::string
aLibDir
();
80
81
84
AST_UTIL_API std::string
aExeDir
();
85
86
89
AST_UTIL_API std::string
aLibPath
();
90
91
94
AST_UTIL_API std::string
aExePath
();
95
96
97
101
AST_NAMESPACE_END
102
ast::aGetModulePathFromAddress
std::string aGetModulePathFromAddress(void *addr)
获取函数、变量所在模块的路径
定义
FileSystem.cpp:62
ast::aExePath
std::string aExePath()
获取当前的可执行文件路径
定义
FileSystem.cpp:125
ast::aExeDir
std::string aExeDir()
获取当前的可执行文件所在目录
定义
FileSystem.cpp:115
ast::aLibDir
std::string aLibDir()
获取当前的AstUtil动态库所在目录
定义
FileSystem.cpp:110
ast::aLibPath
std::string aLibPath()
获取当前的AstUtil动态库的名称
定义
FileSystem.cpp:120
src
AstUtil
Platform
FileSystem.hpp
制作者
1.12.0