webcamおはようございます。以前は、兄より、さっさとご飯を食べていた次男でしたが、最近は、だらだら食べて、最後には食べさせろと言ってくる始末。@kjunichiです。昨年末にWindowsな自作PCをリニューアルして以来、あれこれ、Windowsでやっている。多少出来るようになってきた気がしている。そんな日々を過ごす中で、WindowsでもRustでFFIのやり方が分かった。今年はRustの勉強会にも参加したし、なにか自作したかった。動いた!この辺32ビットだと呼び出し規約の指定が必要かもしれない。{}とすれば、良さそう。(32ビットな2-wayタブレットPCが奥さんに占領されてて、試せてない)また、動かす際は必要なDLLがパス上に存在している必要がある。この辺は、別の処理系でFFIしていれば、体験していることかとも思う。FFIなクレートの構成glfw-rsを参考に見よう見まねでやってみた。mod.rs.soや.dllから使う関数を記述link.rsOS毎のリンク方法C的なポインタ操作が分からなかったので#removeで実装した。慣れないRustでやってたっぷりとコンパイルエラー時のメッセージでコードの書き方を勉強させられた。ビルドを通せても意図した動きにならなかった。為、バグが混入してしてまった。なんとか、バグを修正して、意図した通り、PPMヘッダの解析を行うことが出来た。分からず、実際のポインタの実体の要素を削除するという実装で実現した。{(*tmpbuf).remove(0);}動いた!例によって、デスクトップを撮影して、そのキャプチャを動作確認記録として貼り付けてみた。youtu.be成果物github.comまとめRustは当初はMinGW版だったが、その後、MSVC版がデフォルトになっている。今回はRustから呼び出せた。APIをつかっている。cl.exeで付属のC++ラッパーをビルドする処理を書けば理屈の上では動かせるハズ。(どうやら、gccクレートはMSVC環境ではcl.exeをCコンパイラとして使う模様)今回は#removeして実際に要素を減らしてポインタ操作の代用をしてしまったが、近いうちにこの辺りのRustでのポインタ操作を覚えたい。char*をRustの&strにする方法おはようございます。2018の20日目の記事と@...2017-10-22RustでGoのライブラリを使うときのCargoのbuild.rsの書き方こんにちは。長男の保育園最後の運動会は、雨天のため、室内で...2017-09-01WindowsでmrubyからGoで作ったライブラリを呼び出して、Webカメラの画像をコマンドプロン...おはようございます。»プロフィールid:kjw_junichiブログ名の通りです。(51)はてなブログをはじめよう!kjw_junichiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。