アルパカ三銃士

〜アルパカに酔いしれる獣たちへ捧げる〜

2018-01-01から1年間の記事一覧

XS での pTHX/pTHX_, aTHX/aTHX_ について

今日は以前紹介した、List::Flatten::XS を更新してバージョン 0.03 をリリースしたのだが、リリースした途端に次のような issue が飛んできた。 github.com 内容はスレッド Perl でビルドができないというもので、一番最初のレポートが去年の 4 月頃になっ…

フィボナッチ数列の LLVM IR を読む

LLVM IR を読んでみた。 以下のような記事を見つけたため、今後のためにメモを残すことにした。 takoeight0821.hatenablog.jp 今回読むのは次のフィボナッチのコードである。 int fib(int n) { int i, t, a = 0, b = 1; for (i = 0; i < n; i++) { t = a + b…

LLVM IR からバイナリを生成するための Perl スクリプト

以下のリンクの続き。 副産物として Perl スクリプトをコンパイルしてくれる Perl スクリプトを作成した。 codehex.hateblo.jp

Perl で Compiler::CodeGenerator::LLVM を用いて LLVM IR を出力する

約 4 年前になると思うが、@goccy54 さんが LLVM のライブラリを用いて、Perl のコードから LLVM IR を生成するといった夢のようなモジュールを作成されていた。 それが Compiler::CodeGenerator::LLVM である。 これをどのような感じで使うのかは、@papix …

vector とは生のポインタではなく unique_ptr を使う

c++

前回以下のような記事を書いた。 codehex.hateblo.jp これの解決策 + エクセレントなコードを見つけたため記録を残しておく。

ポインタで vector を作ってはいけないかもしれない

この issue を解決しようとしてデバッグしまくってた結果疑問が出てきた。 github.com それは STL の vector でポインタを使ってはいけない疑惑。

Perl XS デバッグを vscode で行う

タイトルの通り、vscode を使って XS のデバッグを行う。 環境は Mac OS X El capitan MacBook Air (11-inch, Mid 2012) で lldb を用いる。Perl は 5.24.1 で plenv を使って管理している。 まずはデバッグしたいプロジェクトを vscode で開き、launch.json…

.gitattribute を使って GitHub 上の diff で自動生成したファイルを表示しない方法

お世話になってる皆さんへ あけましておめでとうございます。 今年も一年よろしくお願いいたします さて、新年早々 Pull Request を提出したわけだが、テストの自動生成でファイル量がかなり多くなってしまい、レビューに必要もないファイルまで diff に表示…