Настройка IDE
This commit is contained in:
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"CurrentProjectSetting": "x64-Debug"
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"OutputFoldersPerTargetSystem": {
|
||||
"Local Machine": [
|
||||
"out\\build\\x64-Debug",
|
||||
"out\\install\\x64-Debug"
|
||||
]
|
||||
},
|
||||
"ExpandedNodes": [
|
||||
"",
|
||||
"\\includes",
|
||||
"\\src"
|
||||
],
|
||||
"SelectedNode": "\\src\\FXAlloc.c",
|
||||
"PreviewInSolutionExplorer": false
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,12 +0,0 @@
|
||||
{
|
||||
"Version": 1,
|
||||
"WorkspaceRootPath": "C:\\projects\\fullstack\\neurox\\ccpp\\fxalloc\\",
|
||||
"Documents": [],
|
||||
"DocumentGroupContainers": [
|
||||
{
|
||||
"Orientation": 0,
|
||||
"VerticalTabListWidth": 256,
|
||||
"DocumentGroups": []
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools"
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
# ccpp/fxalloc/PROGRESS.md
|
||||
# FXAlloc PROGRESS.md
|
||||
|
||||
## Формат
|
||||
* Даты следуют в обратном хронологическом порядке
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# ccpp/fxalloc/TODO.md
|
||||
# FXAlloc TODO.md
|
||||
|
||||
## Информация
|
||||
* Файл для отслеживания текущих задач модуля **FXAlloc**
|
||||
|
||||
+32
-9
@@ -9,6 +9,29 @@
|
||||
#endif
|
||||
|
||||
|
||||
#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 201112L)
|
||||
#error "C11 standard is required for _Atomic support"
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(__clang__)
|
||||
// Clang: _Atomic поддерживается в C11 во всех актуальных версиях
|
||||
|
||||
#elif defined(__GNUC__)
|
||||
#if (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 9)
|
||||
#error "GCC < 4.9 does not support _Atomic (C11)"
|
||||
#endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
#if _MSC_VER < 1930 // VS 2022+ (_MSC_VER >= 1930)
|
||||
#error "MSVC < VS 2022 (_MSC_VER < 1930) does not support _Atomic (C11)"
|
||||
#endif
|
||||
|
||||
#else
|
||||
#error "Unsupported compiler. Only Clang, GCC >=4.9, and MSVC VS 2022+ support _Atomic in C11"
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
typedef struct FXMemoryBlock FXMemoryBlock;
|
||||
@@ -30,17 +53,17 @@ typedef struct FXMemoryBlock FXMemoryBlock;
|
||||
|
||||
|
||||
/**
|
||||
* @brief Пул выделяемый для отдельно взятого потока
|
||||
* @brief Грейдовый пул выделяемый для градации
|
||||
*
|
||||
*/
|
||||
typedef struct FXGradePool {
|
||||
FXMemoryBlock* prealloced;
|
||||
FXMemoryBlock* lifo;
|
||||
FXMemoryBlock* list_first;
|
||||
FXMemoryBlock* list_last;
|
||||
uint32_t ntotal;
|
||||
uint32_t nbusy;
|
||||
uint32_t nalloc;
|
||||
uint32_t nprealloc;
|
||||
FXMemoryBlock* prealloced; ///< Преаллоцированные блоки
|
||||
FXMemoryBlock* lifo; ///< Стэк свободных блоков
|
||||
FXMemoryBlock* list; ///< Список аллоцированных блоков
|
||||
uint32_t ntotal; ///< Блоков всего
|
||||
uint32_t nbusy; ///< Блоков занято
|
||||
uint32_t nalloc; ///< Блоков алоцировано через `malloc`
|
||||
uint32_t nprealloc; ///< Блоков преаллоцировано
|
||||
} FXGradePool;
|
||||
|
||||
#pragma pack(push, 8)
|
||||
|
||||
Reference in New Issue
Block a user