Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
new(ptr, args, ret_type, abi=Fiddle::Function::DEFAULT) -> Fiddle::Function[permalink][rdoc] ptr (関数ポインタを表す整数)から Fiddle::Function オブジェクトを 生成します。 ptr には DL::Handle から DL::Handle#ptr で取りだした 関数ポインタ(を表す整数)を渡します。 args、ret_type で関数の引数と返り値の型を指定します。これには以下の 定数が利用できます。「-TYPE_INT」 のように符号を反転させると unsigned を 意味します。 Fiddle::TYPE_VOID Fiddle::TYPE_VOIDP Fiddle::TYPE_CHAR Fiddle::TYPE_SHORT Fiddle::TYPE_INT Fiddle
ここでは、プログラミングに関するちょっとした覚え書きをメモとして残します。 このWebページのボリュームが大きくなったので、 新しい「プログラミング雑記帳」 を設けました(2014.10.05)。 □ kramdown ver 1.3.1 によるpdfファイルの生成 □ ruby 2.0.0のfiddleとWin32API □ MS-Windowsでのクリップボード操作 □ ADOによるExcel2007ファイルへのデータ書き込み(rubyスクリプト) □ ADOでExcel2007のファイルを読み書きする(rubyスクリプト) □ Hashを構造体のようにして扱う □ Excelでクロス集計表をカイ二乗(χ2)検定・xmlss生成版 □ Excelでクロス集計表をカイ二乗(χ2)検定 □ tv_yahoo2.rbの修正版 □ MS-Windowsにおけるドライブ情報の取得、システムエラー
RubyでGUI操作の自動化 - imHoの続きか。 Rubyで作ったWindows上で動くツールを単独の実行ファイルに変換しようと、exerb を使ってみた。普通の Ruby のソースならWindows上で動くどの Ruby でも実行ファイルにできるが、拡張モジュールを使う場合 Ruby-mswin32 じゃないとだめらしい。Cygwin 上で使ってる Ruby は 1.8.6 だけど、せっかく別にインストールするんだから、1.9 を試してみようと思った。 紆余曲折したけど、結果は失敗に終わった。 VisualStudio8のVCをコマンドラインから使う 拡張モジュールをビルドするのに、コマンドラインから VC を呼び出す必要がある。最近はもっぱら IDE からだけで、コマンドラインから使ったことがない。 まずパスを通す set path=C:\Program Files\Microso
■Windows版Rubyの細道・けもの道 ■ナビゲータ [南北館(最初のメニュー)] [Windows版Rubyの細道・けもの道] [1.準備編] [2.基本編] [3.応用編] [3-1.固定長データとCSVデータとの変換] [3-2.重複データの処理] [3-3.フォルダ内の一括処理] [3-4.1つのファイルを複数のファイルに分割する] [3-5.文字コードの変換] [3-6.半角全角変換] [3-7.多次元配列の処理] [3-9.その他] [3-9-1.文字列のフォーマットを変更する] [3-9-2.メッセージを表示する] [3-9-3.ファイルのサイズを取得する] [3-9-4.当日・前日・前営業日、前月末日・当月末日・翌月末日を取得する] [3-9-5.複数レコードを1レコードにまとめる] [3-9-6.電卓プログラム] [3-9-7.素因数分解] [スクリプトと入力データの
はじめに DLL関数の呼び出し規約は「__stdcall」か「__cdecl」のどちらかになるが 一般的には__stdcallで定義される事が多いようである。 少なくとも私は今まで__cdeclで定義されたDLLを見たことがない。 両者の違いは、スタック(引数、戻り値)の処理を 「exe側(呼び出す側)」がやるか「dll側(呼び出される側)」がやるか、だったと思う (知らない、もっと詳しく知りたという人は各自ググってね) この呼び出し規約、単一プロジェクトでは全く問題にならないのだが1 DLL化すると、不整合を起こした場合とんでもない問題を引き起こす 例えば__cdeclで作られたDLLを__stdcallとして呼び出すと、面白いようにバグる。 しかもコレ、システムが検知不可なので問題に気付きにくいというオマケ付きである。 (ローカル変数の値が突如書き換えられるとか、そんな感じの動作になる
諸事情 で Python の ctypes のコードを Ruby の fiddle に移植しているんですが、どちらもだいたい同じことができる、一方APIなどの設計思想が違う、みたいな感じで興味深いです(興味深い)。 今回ctypesで普通にやるような、「参照先を更新する関数」の呼び出しがfiddleの場合ちょっと癖があったのでメモ。 C側 #define INT_VALUE 1234567 int update_int(int* ptr) { *ptr = INT_VALUE; return 0; } これを shared ライブラリにする。 gcc -fPIC -c sample.c -o sample.o gcc -shared sample.o -o libsample.so ctypesでは from ctypes import * lib = CDLL("./libsample.
これはなんの記事? GRというグラフ描画ライブラリのRubyバインディングの記事です。 https://github.com/red-data-tools/GR.rb Rubyだってグラフを描きたいのです! こんにちは。気がつくとRubyのコードをこちょこちょ書いているkojix2と申します。 Rubyでグラフを描きたいって思ったことはありませんか? もちろんRubyにもグラフを描くツールはいくつかあります。たとえば NArrayの作者の田中さんが作っているnumo-gnuplot Jupyter-labで動かすiruby-plotly Ankaneファミリーのchartkick かつて一世を風靡し作者が忽然と姿を消したNyaplot Seabornのようなフロントエンドを目指すcharty daruと一緒に使うdaru-view どれも良いツールではあるのですが、一長一短で私は満足できま
It's common for multiple versions of the same dynamic-link library (DLL) to exist in different file system locations within an operating system (OS). You can control the specific location from which any given DLL is loaded by specifying a full path. But if you don't use that method, then the system searches for the DLL at load time as described in this topic. The DLL loader is the part of the oper
# CMakeのバージョン cmake_minimum_required(VERSION 2.8) # プロジェクト名 project(sample C) # 共有ライブラリを作成 add_library(sample SHARED sample.c) # MacOSの場合.dylibで作成される為、.soで作成されるように以下を追記 if (APPLE) set_property(TARGET sample PROPERTY PREFIX "lib") set_property(TARGET sample PROPERTY OUTPUT_NAME "sample.so") set_property(TARGET sample PROPERTY SUFFIX "") endif()
[edit] 要約 C の型の別名を定義するライブラリです。 Fiddle::Win32Types や Fiddle::BasicTypes を Module#include することで、Fiddle::Importer#extern や Fiddle::Importer#struct で利用できる型が増えます。内部で Fiddle::Importer#typealias を呼び出しています。 実装の問題があるため、 Fiddle::Importer#dlload を呼びだしてから include してください。 例 require 'fiddle/import' require 'fiddle/types' module M extend Fiddle::Importer dlload "libc.so.6" # include の前に dlload を呼ぶ include Fiddle
チマチマとWindowsプログラミングを勉強しています。DWORDとか普段馴染みがないから、何度覚えても忘れる。 http://yokohama.cool.ne.jp/chokuto/urawaza/datatype.html から転載させていただいた。 Windowsの型とC言語の型 HMENU メニューハンドル INT 符号付き整数(int型) LANGID 言語ID(WORD型/2バイト) LCID ロケールID(DWORD型/4バイト) LONG 32ビット符号付き整数(long型) LONGLONG 64ビット符号付き整数(__int64型/8バイト) LPARAM 32ビットメッセージパラメータ LPBOOL/PBOOL BOOL型へのポインタ LPBYTE/PBYTE BYTE型へのポインタ LPCSTR/PCSTR 定数ANSI(またはマルチバイト)文字列へのポインタ。(内
みなさんおはようございます、aoitaku です。この記事は Ruby Game Developing Advent Calendar 2016 の 14 日目の記事です。 13 日目は hoshi_sano さんの 道場で学んだ「ゲームとは何か」を踏まえて3~4時間でゲーム作った話と反省 でした。 記事にあるように「簡単なことよりはちょっと難しいことのほうが達成できたときに楽しい」というのがゲームの面白さだなとぼくも思っていて、でもこの「ちょっと難しい」のところがゲーム作りの難しさだなあということも、いつも思っています。 たとえば「簡単にクリアできると面白くないからとにかく簡単にはクリアできないようにしよう」とかはありがちなミスなんですが、じゃあ「プレイヤーがちゃんとクリアできて達成感を得られる程度の難しさってなんだろう?」とか。 そういう意味でいくとゴミを投げ入れるゲームは「ゴミ箱が動
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く