メインコンテンツまでスキップ

Ruby の作り方

· 約1分
ひかり
Main bloger

例として3を返すプログラムを作る。

まず、C でソースコードを書く。

// three.c
#include <ruby.h>

static VALUE int_three(void){
return INT2NUM(3);
}

void Init_three(void){
rb_define_singleton_method(rb_cInteger, "three", int_three, 0);
}

Makefile を作成するための スクリプトを作成。

# extconf.rb
require 'mkmf'
create_makefile "three"

Make

$ make

作成したプログラムを呼び出す Ruby スクリプトを書く。

# main.rb
require "./three"
p Integer.three

実行

$ ruby main.rb
3

DLL の作成と C のコンパイル

· 約1分
ひかり
Main bloger

DLL の作成と C のコンパイルのメモ

ライブラリー

ソースファイル

// gcd.c
int gcd(int a, int b){
return !b ? a : gcd(b, a % b);
}

ヘッダーファイル

// gcd.h
#ifndef TEST_H
#define TEST_H

int gcd(int a, int b);

#endif

プログラム

#include <stdio.h>
#include "gcd.h"

int main(void){
printf("%d\n", gcd(24, 36));
}

コンパイル

DLL の作成

gcc gcd.c -shared -o gcd.dll

コンパイル

gcc main.c -lgcd -L.

Unity でリアルな地形を生成

· 約1分
ひかり
Main bloger

Unity でリアルな地形を作ってみた。

国土地理院の衛星写真と標高データーをもとに作成。

Unity 島原半島

次は九州を作りたいところ。

アセトン転写でプリント基板づくり

· 約2分
ひかり
Main bloger

自作計測器開発用にプリント基板を作ってみました。

アセトン転写

普通紙にレーザープリンターで印刷して、 印刷物を銅基板に合わせ水をつけて紙を密着させる。 次に、アセトンを少しかけて クリアファイルの上から トナーを銅基板に押し付けるように爪でこすり、アセトン転写。 1回目はアセトンが多すぎて失敗。 全体に染みるくらいが丁度いい。 アセトンはアセトン100%の除光液を使用。

プリント基板 アセトン転写

水で洗いながらこすって紙を落とす。

エッジング

適当な容器にエッジング液を入れ、 お湯を入れたフリーザーパックで 人肌程度に液が温まるようにして エッジング。 40から45℃ 程度が良いみたいだが、 温度計を入れたら錆びるので適当。 目視で塗ってないところの銅が溶けているのを確認し、エッジング終了。

プリント基板 エッジング

塗った部分を溶かす

トナーやマジックペンでマスクした部分をアセトンで溶かす。 すると、マスクした部分だけの銅が残り回路ができる。

プリント基板 エッジング

少しだけ回路づくり

ドリルで穴を開け、 はんだ付けして、少しだけ回路を作った。 銅に乗せるような感じではんだ付けをすると 作りやすかった。

プリント基板 エッジング