Skip to content

Instantly share code, notes, and snippets.

@doccaico
doccaico / CMakeLists.txt
Created March 25, 2025 06:29
(C) Raylib + Cmake + Ninja (MSYS2 - UCRT64)
cmake_minimum_required(VERSION 3.10)
# Debug build
# $ cmake -S . -B build/debug -GNinja -DCMAKE_BUILD_TYPE=Debug
# $ cmake --build build/debug -- basic_window && ./build/debug/basic_window.exe
# Release build
# $ cmake -S . -B build/release -GNinja -DCMAKE_BUILD_TYPE=Release
# $ cmake --build build/release -- basic_window && ./build/release/basic_window.exe
@doccaico
doccaico / build.zig
Last active February 9, 2025 13:29
MSVC + DLL + Ziglang
const std = @import("std");
pub fn build(b: *std.Build) void {
const target = b.standardTargetOptions(.{});
const optimize = b.standardOptimizeOption(.{});
const lib_mod = b.createModule(.{
.root_source_file = b.path("lib/mylib/mylib.zig"),
.target = target,
.optimize = optimize,
@doccaico
doccaico / japanese.d
Last active February 3, 2025 23:52
Dlangで日本語出力 (cmd.exe and powershell.exe)
import std.stdio : writeln;
import std.conv : to;
import std.windows.charset : toMBSz;
import core.sys.windows.windows : GetConsoleOutputCP;
void main()
{
auto currentCodePage = GetConsoleOutputCP();
writeln(currentCodePage);
@doccaico
doccaico / info.md
Created January 30, 2025 01:27
Windows上でlibxml2をビルドする (MSVC)

1: ソースをダウンロードする

2: ソースを解凍する

cmake -E tar xf libxml2-xxx.tar.gz

3: ビルドファイルを生成する

cmake -S libxml2-xxx -B libxml2-xxx-build -D LIBXML2_WITH_PYTHON=OFF -D LIBXML2_WITH_ICONV=OFF -D LIBXML2_WITH_DEBUG=OFF
@doccaico
doccaico / main.c
Created July 22, 2024 04:20
Create a window (Windows API)
#ifndef UNICODE
#define UNICODE
#endif
#include <stdio.h>
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
// types
@doccaico
doccaico / build.zig
Last active July 19, 2024 02:56
Raylib, Zig, config.h....
const std = @import("std");
fn define_macros(raylib_module: *std.Build.Module) void {
//------------------------------------------------------------------------------------
// Don't use the built in config.h
//------------------------------------------------------------------------------------
raylib_module.addCMacro("EXTERNAL_CONFIG_FLAGS", "1");
@doccaico
doccaico / main.v
Created April 23, 2024 20:34
convert tweets.js to markdown in V
import x.json2
import os
struct Tweets {
tweet struct {
created_at string
full_text string
}
}
const std = @import("std");
const fmt = std.fmt;
const mem = std.mem;
const print = std.debug.print;
const assert = std.debug.assert;
const expect = std.testing.expect;
// https://medium.com/@tharunappu2004/writing-a-lexer-in-c-a-step-by-step-guide-a1d5c55ac04d
pub var allocator: std.mem.Allocator = undefined;
@doccaico
doccaico / main.zig
Created April 10, 2024 12:17
Zig version of Golang's string(ch)
const std = @import("std");
const fmt = std.fmt;
const mem = std.mem;
const print = std.debug.print;
const assert = std.debug.assert;
const expect = std.testing.expect;
pub var allocator: std.mem.Allocator = undefined;
const S = struct {
@doccaico
doccaico / main.zig
Created April 10, 2024 08:54
shift zig implementation (naive ver.)
const std = @import("std");
const fmt = std.fmt;
const mem = std.mem;
const print = std.debug.print;
const assert = std.debug.assert;
const expect = std.testing.expect;
pub var allocator: std.mem.Allocator = undefined;
pub fn main() !void {