This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <stdlib.h> | |
#include <setjmp.h> | |
#include <stdbool.h> | |
#include <string.h> | |
#include <stdint.h> | |
#ifdef _WIN32 | |
#include <conio.h> | |
void clear_screen() { system("cls"); } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <fstream> | |
#include <string> | |
#include <print> # C++ 23 print | |
#include <stdexcept> | |
bool is_binary_file(const std::string& filename) { | |
std::ifstream input_file_stream(filename, std::ios::binary); | |
if (!input_file_stream) { | |
throw std::runtime_error("Could not open file '" + filename + "'."); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <string> | |
#include <vector> | |
#include <random> | |
#include <thread> | |
#include <chrono> | |
void initialize_random_seed() { | |
std::random_device rd; | |
std::srand(rd()); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <stdint.h> | |
// Define ARCH_NAME based on the detected architecture | |
#if defined(__x86_64__) || defined(_M_X64) | |
#define ARCH_NAME "x86_64" | |
#elif defined(__i386__) || defined(_M_IX86) | |
#define ARCH_NAME "x86" | |
#elif defined(__aarch64__) || defined(_M_ARM64) | |
#define ARCH_NAME "ARM64" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <iomanip> | |
#include <string> | |
#include <stdexcept> | |
#include <cstdint> | |
#include <cstring> | |
#include <limits> | |
#include <cstdlib> | |
float parse_hex_to_float(const std::string& hex_str) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Advanced File Type Detection Program like GNU file type detection tool | |
// Note: This program is a simplified version and may not cover all possible file types. | |
// Created by: HeavenHM. | |
// Date: 2024-01-12 | |
#include <iostream> | |
#include <fstream> | |
#include <string> | |
#include <filesystem> | |
#include <algorithm> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <bitset> | |
#include <stdexcept> | |
#include <iomanip> | |
// Function to check if the system is little endian | |
bool isSystemLittleEndian() { | |
int testNumber = 1; | |
return *(char*)&testNumber == 1; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> // Include header for standard input/output functions | |
#include <assert.h> // Include header for the assert function | |
#define NOB_ASSERT assert // Define NOB_ASSERT as an alias for assert | |
// Function to shift the first argument from argv and update argc | |
char *nob_shift_args(int *argc, char ***argv) { | |
NOB_ASSERT(*argc > 0); // Assert that there's at least one argument | |
char *result = **argv; // Store the first argument in result | |
(*argv) += 1; // Increment argv to point to the next argument |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Get the filename from the command line argument | |
filename=$1 | |
debug=0 | |
cpp_version="c++17" | |
# Determine the file extension, compiler, and language based on the filename | |
if [[ $filename == *.c ]]; then | |
extension=".c" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Description: Cross-Platform Memory Size Detector in C | |
Author: HeavenHM | |
Language: C | |
Date: 12-12-2023 | |
Compilers Tested: GCC, Clang, MSVC. | |
Platforms Tested: Unix,Linux, MacOS, Windows. | |
*/ | |
// Includes for cross-platform compatibility. |
NewerOlder