Настройка IDE

This commit is contained in:
2026-05-07 10:02:18 +05:00
parent f6375cd4b7
commit c9b124744d
13 changed files with 38 additions and 42 deletions
+32 -9
View File
@@ -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)